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);
}
}