/// <summary> /// Function for losing the game /// </summary> private void OnGameOver() { EffectsHelper.SFX("_GameOverExplosion"); float explosionOffset = 1f; EffectsHelper.Particles("ShipExplosion01", player.transform.position); EffectsHelper.Particles("ShipExplosion02", player.transform.position + new Vector3(UnityEngine.Random.Range(-explosionOffset, explosionOffset), 0, UnityEngine.Random.Range(-explosionOffset, explosionOffset))); EffectsHelper.Particles("ShipExplosion03", player.transform.position + new Vector3(UnityEngine.Random.Range(-explosionOffset, explosionOffset), 0, UnityEngine.Random.Range(-explosionOffset, explosionOffset))); EffectsHelper.Particles("ShipExplosion04", player.transform.position + new Vector3(UnityEngine.Random.Range(-explosionOffset, explosionOffset), 0, UnityEngine.Random.Range(-explosionOffset, explosionOffset))); StartCoroutine(ShowEndScreen("SHIP DESTROYED!", lostImage)); }
public void DoDamage(int damageAmount) { if (GameManager.Instance.godMode) { return; } EffectsHelper.SFX("_AsteroidShipCrash"); EffectsHelper.Particles("ShipCrash", transform.position); currentHull -= damageAmount; if (currentHull <= 0) { StopAllGases(); currentHull = 0; EventManager.TriggerEvent(Statics.Events.gameOver); } EventManager.TriggerEvent(Statics.Events.hullDamaged, currentHull); }