示例#1
0
    /// <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);
    }