TigerProject/Assets/Scripts/Entity.cs
2026-01-26 18:08:38 +09:00

53 lines
1.0 KiB
C#

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<Player>().TakeDamage(attackDamage);
Destroy(this.gameObject);
}
}
void Update()
{
this.RunAI();
}
public virtual void RunAI()
{
}
}