using UnityEngine; using RR.Game2D.Behaviour; namespace RR.Game2D.Entities.Hazards { [RequireComponent(typeof(Collider2D))] public class Trap : MonoBehaviour { private Collider2D _col; private void Awake() { _col = GetComponent(); } private void OnCollisionEnter2D(Collision2D collision) { if (collision.collider.CompareTag("Player")) { if (collision.collider.TryGetComponent(out var controller)) { if (!controller.isDeadAtMoment) controller.Die(); } } else if (collision.collider.CompareTag("Enemy")) { if (collision.collider.TryGetComponent(out var controller)) controller.Die(); } } private void OnTriggerEnter2D(Collider2D other) { if (!_col.isTrigger) return; if (other.CompareTag("Player")) { if (other.TryGetComponent(out var controller)) controller.Die(); } else if (other.CompareTag("Enemy")) { if (other.TryGetComponent(out var controller)) controller.Die(); } } } }