Пример #1
0
    // When Player is touches Enemy
    private void SubtractTime(Collision2D other)
    {
        // Get timeMultiplier value off current Phase of enemy
        PhaseController phaseController = other.gameObject.GetComponent <PhaseController>();
        float           timeToSubtract  = phaseController.GetCurrentPhaseScoreMultiplier();

        // subtract it from the timer
        UpdateHealthTimer(-timeToSubtract);
    }
Пример #2
0
    private void OnCollisionEnter2D(Collision2D other)
    {
        if (other.gameObject.CompareTag("Projectile"))
        {
            PhaseController phaseController = GetComponent <PhaseController>();

            // Physics
            _rb.velocity = Vector2.zero; // Don't contribute to knockback force variable

            // Sprite swap
            phaseController.UseDeathSprite();

            // FX
            _particleSystem.Play();
            AudioClip  audioClip;
            GameObject indicator;

            if (phaseController.CurrentPhase == 4) // 4 = undead
            {
                audioClip = undeadHasBeenShot;
                indicator = timePenalty;
            }
            else
            {
                audioClip = enemyHasBeenShot;
                indicator = timeBonus;
            }

            Instantiate(indicator, transform.position, quaternion.identity);
            PlayAudio(audioClip);

            // Add Time to clock
            FindObjectOfType <PlayerHealth>().AddTime(gameObject, phaseController.GetCurrentPhaseScoreMultiplier());

            // Death
            _isDead = true;
            phaseController.enabled = false;
        }
    }