Project_WL/Assets/Script/Character/Projectile/Skill/Skill_TrapSetup.cs

44 lines
1.5 KiB
C#
Raw Normal View History

2025-01-18 23:21:18 +00:00
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);
}
}