ReisenYoumuOuting/Assets/Scripts/Entities/ZombieFairy.cs

43 lines
918 B
C#

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;
}
}
}
}