コード例 #1
0
    public override void TakeDamage(int dmg)
    {
        if (!invincible)
        {
            currentHP -= dmg;
            hpUIController.damageHealth(dmg);
            shake.StartShake();
            audioSource.Play();
        }

        #region Old Shield Stuff

        /*
         * if (!shielded)
         * {
         *  currentHP -= dmg;
         *  hpUIController.damageHealth(dmg);
         * }
         * else
         * {
         *  currentShield -= dmg * 10;
         *
         *  if (currentShield < 0f)
         *  {
         *      currentShield = 0;
         *  }
         *
         *  if (currentShield == 0f)
         *  {
         *      shieldController.StopShield();
         *  }
         *
         *  shieldSlider.value = currentShield;
         * }
         */
        #endregion Old Shield Stuff

        if (currentHP <= 0)
        {
            Instantiate(playerDeathAudio, transform.position, Quaternion.identity);

            highScoreTracker.SaveScore();
            gameOverPrompt.SetActive(true);
            gameOverScoreText.text = highScoreTracker.getScoreText();

            string result = "";
            int    length = GameManager.gm.currentLevel.ToString().Length;

            for (int i = length; i < 2; i++)
            {
                result += "0";
            }

            result += GameManager.gm.currentLevel;

            gameOverLevelText.text = "- LEVEL " + result + " -";

            uiBar.SetActive(false);
            GameManager.gm.DisableSpawners();
            DisablePlayer();
        }
        else
        {
            invincible = true;

            invincibleTimer = setInvincibleTimer;
        }
    }