void OnTriggerEnter2D(Collider2D other)
    {
        if (other.tag == "Platform")
        {
            jumping = false;
            anim.SetBool("Jumping", false);
        }
        else if (other.tag == "Goal")
        {
            onGoal = true;
        }
        else if (other.tag == "Collectable")
        {
            Manager <SoundManager> .Instance.PlaySoundEffect(SoundManager.SoundEffect.Collect);

            Destroy(other.gameObject);
            OnCaughtObject.Invoke();
        }
        else if (other.tag == "Enemy")
        {
            if (OnPlayerKilled != null)
            {
                Manager <SoundManager> .Instance.PlaySoundEffect(SoundManager.SoundEffect.PlayerDie);

                OnPlayerKilled.Invoke();
                Destroy(this.gameObject);
            }
        }
    }
Пример #2
0
 private void OnCollisionEnter(Collision collision)
 {
     if (collision.gameObject.GetComponent <Obstacle>() != null && _navMesh.enabled == true)
     {
         KillPlayer();
         PushPlayer(collision);
         OnPlayerKilled.Invoke();
     }
 }
Пример #3
0
 void Start()
 {
     OnTitanSpawned += EventManager_OnTitanSpawned;
     OnTitanKilled  += EventManager_OnTitanKilled;
     OnRestart      += EventManager_OnRestart;
     OnUpdate       += EventManager_OnUpdate;
     OnGameWon      += EventManager_OnGameWon;
     OnGameLost     += EventManager_OnGameLost;
     OnPlayerKilled += EventManager_OnPlayerKilled;
 }
Пример #4
0
        public static void NotifyPlayerKilled()
        {
            if (HighscoreEnemySoulsCollectedCount < EnemySoulsCollectedCount)
            {
                HighscoreEnemySoulsCollectedCount = EnemySoulsCollectedCount;
            }

            IsPlayerDead = true;
            OnPlayerKilled?.Invoke();
        }
Пример #5
0
    public void Kill()
    {
        if (m_IsDead)
        {
            return;
        }

        m_IsDead = true;

        m_Movement = 0f;
        m_Jump     = false;

        OnPlayerKilled?.Invoke(this);
    }
Пример #6
0
    /// <summary>
    /// Processes resulting logic from the player being killed
    /// </summary>
    public void PlayerKilled()
    {
        // Invoke the player killed action if it has methods subscribed to it
        OnPlayerKilled?.Invoke();

        // Move all platforms off the screen and disable both the platform manager and player to save resources
        PlatformManager.current.gameObject.SetActive(false);
        PlatformManager.current.DisablePlatforms();
        player.SetActive(false);

        // Update and enable the gameover screen
        gameoverCoinsCollectedLabel.text = CoinsCollected.ToString();
        uiGameover.SetActive(true);
        SwitchGameMusic(musicClipGameover);
    }
Пример #7
0
    public void TakeDamage(int baseDamage)
    {
        _hurtThisBeat = true;
        int damage = baseDamage;

        if (IsBlocking())
        {
            damage -= _blockStrength;
            if (damage <= 0)
            {
                damage        = 0;
                _hurtThisBeat = false;
            }
        }

        _currentHealth -= damage;
        OnPlayerDamaged?.Invoke(damage);
        if (_currentHealth <= 0)
        {
            _currentHealth = 0;
            GameMaster.Find <GameMaster>().GameOver();
            OnPlayerKilled?.Invoke();
        }
    }
 private void GameEnded(OnPlayerKilled data)
 {
     gameRunning = false;
 }
Пример #9
0
 public static void RaisePlayerKilled(IEnemy enemy) => OnPlayerKilled?.Invoke(enemy);
Пример #10
0
 private void ShowYouDiedMessage(OnPlayerKilled eventData)
 {
     message.text = OnDeathMessage;
     animator.SetTrigger(YouDiedTrigger);
 }
 private void PlayerDeath(OnPlayerKilled eventData)
 {
     gameEnded = true;
     EventManager.Instance.TriggerEvent(new OnPauseStart());
 }
Пример #12
0
 private void DeactivatePlayerAfterDelay(OnPlayerKilled eventData)
 {
     Invoke(nameof(DeactivatePlayer), 1f);
 }
Пример #13
0
 private void PlayerKillied(OnPlayerKilled eventData)
 {
     playerAnimator.SetTrigger(AnimatorDeathTrigger);
     death.Play();
 }