Beispiel #1
0
    public void ApplyDamage(float damageAmount)
    {
        if (_canTakeDamage)
        {
            playerTempHealth -= damageAmount;

            if (HealthBar.Instance != null)
            {
                HealthBar.Instance.UpdateHealthBar(playerTempHealth / playerMaxHealth);
            }

            soundManager.PlayHurtSound();

            StartCoroutine(FlashRed());

            //Player Health check, resets player to start of level
            if (playerTempHealth <= 0 && !_hasSploded)
            {
                _hasSploded = true;
                weapon.Hide();
                runSpeed = 0;
                GameObject splosion = Instantiate(_vladSplosion, new Vector3(transform.position.x, transform.position.y + 0.5f), transform.rotation);
                characterAnimator.transform.localScale = Vector3.zero;
                SceneMover.Instance.RestartScene();
            }
        }
    }