private void Die() { _animator.SetTrigger(GameTags.anim_die); _animator.SetBool(GameTags.anim_moving, false); _fallenOver = true; GameOverScreen.GameOver(false); }
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(); } } }
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; } }
// 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); } }
void Start() { GetComponent <Health>().OnDeath.AddListener(() => GameOverScreen.GameOver(true)); }