using System; using UnityEngine; public class EnemyHealth : MonoBehaviour, IDamageble { [SerializeField] private float maxHealth = 100f; private float currentHealth; [SerializeField] private float knockbackDuration = 0.5f; private EnemyAI enemyAI; void Start() { currentHealth = maxHealth; //HPを代入 enemyAI = GetComponent(); } public void TakeDamage(DamageInfo damageInfo) { if(currentHealth <= 0) return; currentHealth -= damageInfo.amount; //ダメージ計算 if(damageInfo.isPoseBonus) { Debug.Log("構えボーナス"); } if(currentHealth <= 0) { Die(); } else { if(enemyAI != null) { enemyAI.TriggerKnockback(knockbackDuration); } } } private void Die() { if(enemyAI != null) { enemyAI.DisableAIOnDeath(); } Destroy(gameObject, 0.5f); } }