public void Hurt(float amount)
{
Health -= amount;
if (Health <= 0)
{
Health = 0;
if (Die != null && GameFlow.State == GameState.Gameplay)
{
Die();
GetComponentInChildren<Renderer>().material.mainTexture = deadSprite;
foreach (var s in TerrainGrid.Instance.Summoners.Values)
{
var plane = s.gameObject.FindChild("GlowPlane");
if (s.PlayerId == (NetworkBootstrap.Instance.IsServer ? TerrainGrid.ServerPlayerId : TerrainGrid.ClientPlayerId))
{
plane.renderer.enabled = true;
glowPlane.renderer.material.SetColor("_TintColor", new Color(0, 0, 0, 0));
}
}
hasDied = true;
}
}
audio.PlayOneShot(hurtSound);
HasTakenDamage = true;
TaskManager.Instance.WaitFor(0.5f).Then(() => { HasTakenDamage = false; });
}