private IEnumerator AttackAnimation(string attackType) { if (playerController.stateMachine.currentPlayerState != PlayerState.interact) { playerController.stateMachine.currentPlayerState = PlayerState.attack; if (attackType == "IsAttackingBow") { AttackWithBow(); yield return(new WaitForSecondsRealtime(attackTimer)); if (playerController.stateMachine.currentPlayerState != PlayerState.interact) { playerController.stateMachine.currentPlayerState = PlayerState.idle; } yield break; } if (staminaManager.currentStamina > 5) { isAttacking = true; staminaManager.DecreaseStamina(30); animator.SetBool(attackType, isAttacking); playerController.SlowPlayerDuringAttack(); yield return(new WaitForSecondsRealtime(attackTimer)); StopAttacking(attackType); } } }
private void checkIfPlayerCanRun() { if (Input.GetAxis("Run") == 1) { stateMachine.ChangeState(PlayerState.run); if (staminaManager.currentStamina > 5 && stateMachine.currentPlayerState == PlayerState.run) { playerSpeed = 8f; staminaManager.DecreaseStamina(2f); } if (staminaManager.currentStamina < 5) { stateMachine.ChangeState(PlayerState.walk); playerSpeed = oldPlayerSpeed; } } else if (Input.GetAxis("Run") == 0) { playerSpeed = oldPlayerSpeed; } }