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(); } } }