Exemple #1
0
 private void Die()
 {
     _animator.SetTrigger(GameTags.anim_die);
     _animator.SetBool(GameTags.anim_moving, false);
     _fallenOver = true;
     GameOverScreen.GameOver(false);
 }
Exemple #2
0
    public void Damage(int dmg)
    {
        if (!PowerUpManager.instance.IsActivated(typeof(Invincibility)))
        {
            health -= dmg;
            updateUI();

            if (AudioManager.instance != null)
            {
                AudioManager.instance.playerHurtSounds.PlayRandom();
            }

            if (hitEffect != null)
            {
                GameObject go = Instantiate(hitEffect);
                go.transform.position = transform.position;
            }


            if (health <= 0)
            {
                gos.GameOver();
            }
        }
    }
Exemple #3
0
    private void Update()
    {
        switch (state)
        {
        case State.Idle:
            var numLegs = GetNumLegs();
            if (numLegs == 0)     // player died
            {
                var players = FindObjectsOfType <PlayerInput>();
                if (players.Length == 2)
                {
                    // Destroy player but leave other playing:
                    Destroy(gameObject);
                    var otherPlayer = (players[0].gameObject == gameObject) ? players[1] : players[0];
                    var targetGroup = FindObjectOfType <CinemachineTargetGroup>();
                    targetGroup.m_Targets[0].target = otherPlayer.transform;
                    targetGroup.m_Targets[1].target = null;
                }
                else
                {
                    // No  players left, end:
                    GameOverScreen.GameOver();
                }
            }
            else
            {
                if (movement.magnitude > 0.01f)
                {
                    var desiredParam = (numLegs == 1) ? hopParameter : runParameter;
                    if (currentAnimParameter != desiredParam)
                    {
                        AnimatorCrossFade(desiredParam);
                    }
                }
                else if (movement.magnitude < 0.01f && currentAnimParameter != idleParameter)
                {
                    AnimatorCrossFade(idleParameter);
                }
                controller.movement = new Vector2(movement.x * horizontalSpeed, movement.y * verticalSpeed);
            }
            break;

        case State.Sprinting:
            controller.movement = new Vector2(movement.x * sprintSpeed, movement.y * verticalSpeed);
            break;

        default:
            controller.movement = Vector2.zero;
            break;
        }
    }
Exemple #4
0
    // Update is called once per frame
    void Update()
    {
        // For demonstration purposes...
        if (!recipesSet)
        {
            NextRecipe(0);
            NextRecipe(1);
            NextRecipe(2);
            recipesSet = true;
        }

        if (gameTimer.IsExpired())
        {
            GameOverScreen.GameOver(score);
        }
    }
Exemple #5
0
 void Start()
 {
     GetComponent <Health>().OnDeath.AddListener(() => GameOverScreen.GameOver(true));
 }