这篇接上篇给出整个代码和使用案例。
角色类:
public class Player
{
private JyStateMachine FSM;
private MoveState _move;
private JumpState _jump;
private AttackState _attack;
private IdleState _idle;
public string KeyBoard;
public Player()
{
_move = new MoveState();
_jump = new JumpState();
_attack = new AttackState();
_idle = new IdleState();
// 添加move的转换
_move.AddTransition(new MoveToIdle("MoveIdle", _move, _idle, this));
_move.AddTransition(new MoveToAttack("MoveAttack", _move, _attack, this));
_move.AddTransition(new MoveToJump("MoveJump", _move, _jump, this));
// 添加jump的转换
_jump.AddTransition(new JumpToIdle("JumpIdle", _jump, _idle, this));
_jump.AddTransition(new JumpToAttack("JumpAttack",