ReisenYoumuOuting/Assets/Scripts/Entities/ZombieFairy.cs
2026-07-14 20:23:37 -07:00

47 lines
1.1 KiB
C#

using UnityEngine;
public class ZombieFairy : Enemy
{
[SerializeField] private Ability deathAbility;
[SerializeField] private bool hasDiedOnce;
[SerializeField] private float disappearanceTime;
[SerializeField] private Color disappearanceColor;
[SerializeField] private BoxCollider2D boxCollider;
private float currentDisappearanceTime;
protected override void OnDeath()
{
if (!hasDiedOnce)
{
health = maxHealth;
invulnerable = true;
isStalled = true;
hasDiedOnce = true;
boxCollider.enabled = false;
currentDisappearanceTime = disappearanceTime;
sprite.color = disappearanceColor;
}
else
{
Destroy(gameObject);
WaveManager.instance.enemiesInPlay.Remove(this);
WaveManager.instance.UpdateKills();
}
deathAbility.TryAbility();
}
protected override void Update()
{
base.Update();
if (currentDisappearanceTime > 0)
{
currentDisappearanceTime -= Time.deltaTime;
if (currentDisappearanceTime <= 0)
{
boxCollider.enabled = true;
invulnerable = false;
isStalled = false;
sprite.color = Color.white;
}
}
}
}