50 lines
1.4 KiB
C#

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