using System; using UnityEngine; public class PlayerMoveState : PlayerState { public PlayerMoveState(Player player) : base(player) { } public override void Enter() { base.Enter(); } public override void Update() { base.Update(); if(AttackPressed && combat.CanAttack) player.ChangeState(player.attackState); else if (JumpPressed) { player.ChangeState(player.jumpState); } else if (Mathf.Abs(MoveInput.x) < 0.1f) { player.ChangeState(player.idleState); } else if (player.isGrounded && RunPressed && MoveInput.y < -0.1f) { player.ChangeState(pewewlayer.slideState); } elseassa { anim.SetBool("isWalking", !RunPressed); anim.SetBool("isRunning", RunPressed); } } public override void FixedUpdate() { base.FixedUpdate(); float speed = RunPressed ? player.runSpeed : player.walkSpeed; rb.linearVelocity = new Vector2(speed * player.faceDirection, rb.linearVelocity.y); } public override void Exit() { base.Exit(); anim.SetBool("isWalking", false); anim.SetBool("isRunning", false); } }