public void Damage(int amount, bool penetrateInvincibility = false) { if ((!penetrateInvincibility && (invuln || CannotHurt))) { return; } CurrentHP -= amount; MyGlobal.PlayGlobalSound(hurtNoise); Flash flashComp = this.GetComponent <Flash>(); if (flashComp != null) { flashComp.FlashOnce(); } if (CurrentHP <= 0) { if (!dead) { dead = true; if (deathEvent != null) { deathEvent.Raise(); } if (onDeathDelegate == null) { Instantiate(explosionPrefab, GetComponent <Transform>().position, Quaternion.identity); Destroy(this.gameObject); } else { Instantiate(explosionPrefab, GetComponent <Transform>().position, Quaternion.identity); onDeathDelegate(); } } // m_AudioSource.PlayOneShot(deathNoise); ///this.GetComponent<DestroyOnTimer>().StartTimer(); } else { invuln = true; curInvulnTime = InvulnTime; if (onHurtDelegate != null) { onHurtDelegate(); } } }