using UnityEngine; public class ZombieFairy : Enemy { [SerializeField] private Ability deathAbility; [SerializeField] private bool hasDiedOnce; [SerializeField] private float disappearanceTime; private float currentDisappearanceTime; protected override void OnDeath() { if (!hasDiedOnce) { hasDiedOnce = true; health = maxHealth; invulnerable = true; isStalled = true; currentDisappearanceTime = disappearanceTime; sprite.color = Color.black; } 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) { invulnerable = false; isStalled = false; sprite.color = Color.white; } } } }