示例#1
0
 /**
  * Start a time warp.
  */
 private void TimeWarp()
 {
     // Can't time warp while time is already slowed down.
     if (timeWarpAvailable && !gameManager.GetTimeWarpEnabled())
     {
         timeWarpAvailable = false;
         handsAnimator.SetTrigger("TimeWarp");
         levelStats.StartTimeWarpGaugeAnimation();
         soundManager.PlayTimeWarpSound();
         soundManager.SetHighPassFilterEnabled(true);
         gameManager.SetTimeWarpEnabled(true);
         timeWarpCounter = timeWarpLength;
         rippleCameraEffect.SetNewRipplePosition(new Vector2(Screen.width / 2, (Screen.height / 2) + 35f));
     }
 }
    public void ApplyDamage(int damageValue, color bulletColor)
    {
        Vector3 rippleEffectStart = new Vector3(transform.position.x, -transform.position.y, transform.position.z);

        rippleEffectStart = Camera.main.WorldToScreenPoint(rippleEffectStart);
        Vector2 rippleEffectStart2 = new Vector2(rippleEffectStart.x, rippleEffectStart.y);

        rippleEffect.SetNewRipplePosition(rippleEffectStart2);
        soundManager.soundImpact();
        if (bulletColor == enemyColor)
        {
            damageMultiplier = damageBonusMultiplier;
            scoreManager.IncrementScore(scoreGainIfSameColor);
        }
        else
        {
            damageMultiplier = 1;
            scoreManager.IncrementScore(scoreGainIfNotSameColor);
        }

        health -= damageValue * damageMultiplier;
    }