2026-04-16 21:14:05 +09:00
|
|
|
using System;
|
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
2026-04-18 17:30:41 +09:00
|
|
|
public abstract class LivingEntity : MonoBehaviour
|
2026-04-16 21:14:05 +09:00
|
|
|
{
|
|
|
|
|
public float health;
|
2026-04-18 17:30:41 +09:00
|
|
|
|
|
|
|
|
protected abstract void OnDamaged(float damage);
|
2026-04-16 21:14:05 +09:00
|
|
|
public void Damage(float amount)
|
|
|
|
|
{
|
2026-04-18 17:30:41 +09:00
|
|
|
OnDamaged(amount);
|
2026-04-16 21:14:05 +09:00
|
|
|
health -= amount;
|
|
|
|
|
if (health <= 0)
|
|
|
|
|
{
|
|
|
|
|
Destroy(gameObject);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
private void OnTriggerEnter2D(Collider2D other)
|
|
|
|
|
{
|
|
|
|
|
if (other.gameObject.layer == LayerMask.NameToLayer("Bullet"))
|
|
|
|
|
{
|
2026-04-18 17:30:41 +09:00
|
|
|
Damage(5);
|
2026-04-16 21:14:05 +09:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|