2026-05-21 스킬예측(진행중)
This commit is contained in:
@@ -5,8 +5,8 @@
|
||||
public class HazardHitbox : MonoBehaviour
|
||||
{
|
||||
[SerializeField] private LayerMask _targetLayer;
|
||||
[SerializeField] private LayerMask _blockLayer; // 피해를 줄 레이어 (보통 Player)
|
||||
private int _damage = 0;
|
||||
[SerializeField] private LayerMask _blockLayer;
|
||||
public int Damage = 0;
|
||||
private Collider2D _collider;
|
||||
private void Awake()
|
||||
{
|
||||
@@ -16,16 +16,34 @@ private void Awake()
|
||||
|
||||
private void OnTriggerStay2D(Collider2D other)
|
||||
{
|
||||
TryDamage(other);
|
||||
if((_blockLayer.value & (1 << other.gameObject.layer)) > 0)
|
||||
{
|
||||
Debug.Log("aaaaaaa");
|
||||
|
||||
Destroy(gameObject);
|
||||
}
|
||||
|
||||
if ((_targetLayer.value & (1 << other.gameObject.layer)) > 0)
|
||||
{
|
||||
TryDamage(other);
|
||||
_collider.enabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
private void OnTriggerExit2D(Collider2D other)
|
||||
{
|
||||
if ((_targetLayer.value & (1 << other.gameObject.layer)) > 0)
|
||||
{
|
||||
Destroy(gameObject);
|
||||
}
|
||||
}
|
||||
|
||||
private void TryDamage(Collider2D other)
|
||||
{
|
||||
if ((_targetLayer.value & (1 << other.gameObject.layer)) == 0) return;
|
||||
if (!other.TryGetComponent<IDamageable>(out var target))
|
||||
target = other.GetComponentInParent<IDamageable>();
|
||||
if (target == null) return;
|
||||
|
||||
target.TakeDamage(_damage);
|
||||
target.TakeDamage(Damage);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user