using StateMachine; using UnityEngine; namespace Player.States { public class Jump : State { private readonly Player _player; private static readonly int AnimJump = Animator.StringToHash("Jump"); public Jump(Player player) : base(PlayerState.Jump) { _player = player; } public override void Enter() { _player.animator.SetTrigger(AnimJump); _player.playerRigidbody.AddForce(Vector3.up * _player.jumpForce, ForceMode.Impulse); } public override void Update() { if (_player.isGrounded && (Input.GetAxis("Horizontal") != 0f || Input.GetAxis("Vertical") != 0f)) { _player.StateMachine.SetCurrentState(PlayerState.Run); } else if (_player.isGrounded) { _player.StateMachine.SetCurrentState(PlayerState.Walk); } Vector3 velocity = _player.moveDirection * (_player.runSpeed * .5f * Time.deltaTime); _player.playerRigidbody.velocity = new Vector3(velocity.x, _player.playerRigidbody.velocity.y, velocity.z); } public override void Exit() { // _player.animator.SetTrigger(AnimJump); prizemlilsa } } }