using UnityEngine; using UnityEngine.Events; public class Entity : MonoBehaviour { [SerializeField] private int maxHp; [SerializeField] private int attackDamage = 0; [SerializeField] private EntityData data; private int currentHp; void Awake() { maxHp = data.maxHealth; currentHp = data.maxHealth; attackDamage = data.attackDamage; } public virtual void TakeDamage(int playerAttackDamage) { currentHp -= playerAttackDamage; if (currentHp <= 0) { currentHp = 0; Destroy(gameObject); } } private void OnTriggerEnter2D(Collider2D other) { if (other.CompareTag("Player")) { if (attackDamage <= 0) { return; } other.gameObject.GetComponent().TakeDamage(attackDamage); Destroy(this.gameObject); } } void Update() { this.RunAI(); } public virtual void RunAI() { } }