Files
VRProject/Assets/Scripts/EnemyHealth.cs
2026-06-02 12:35:45 +09:00

52 lines
1.0 KiB
C#

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<EnemyAI>();
}
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);
}
}