44 lines
1.5 KiB
C#
44 lines
1.5 KiB
C#
using System.Collections;
|
|
using UnityEngine;
|
|
|
|
public class Skill_TrapSetup : Projectile_Curved
|
|
{
|
|
public ProjectileHitChecker TrapHitChecker, ExplosionHitChecker;
|
|
public GameObject go_danger;
|
|
[Header("함정 높이 오프셋 (바닥에 맞춰주기 위함")]
|
|
public Vector3 offset = new Vector3(0f, 0.35f, 0f);
|
|
|
|
public override void Set(ProjectileData _data)
|
|
{
|
|
TrapHitChecker.gameObject.SetActive(true);
|
|
TrapHitChecker.Get_Collider().enabled = false;
|
|
go_danger.SetActive(false);
|
|
ExplosionHitChecker.gameObject.SetActive(false);
|
|
_data.Action_OnHit = hitter =>
|
|
{
|
|
if (!ExplosionHitChecker.gameObject.activeInHierarchy)
|
|
StartCoroutine(Co_Update());
|
|
};
|
|
_data.eStartPos = eProjectileStartPos.ShooterCenter;
|
|
base.Set(_data);
|
|
var end = _data.target.Get_position() + offset;
|
|
Launch_Curved(transform.position, end, 1f, 2f, false,
|
|
() =>
|
|
{
|
|
TrapHitChecker.Get_Collider().enabled = true;
|
|
go_danger.SetActive(true);
|
|
go_danger.transform.position -= offset;
|
|
});
|
|
}
|
|
|
|
IEnumerator Co_Update()
|
|
{
|
|
go_danger.SetActive(false);
|
|
ExplosionHitChecker.Get_Collider().enabled = true;
|
|
ExplosionHitChecker.gameObject.SetActive(true);
|
|
yield return null;
|
|
ExplosionHitChecker.Get_Collider().enabled = false;
|
|
yield return new WaitForSeconds(1f);
|
|
Off(true);
|
|
}
|
|
} |