Files
taptap2024_GJ_chidouren/Packages/com.xfkj.xffsm@357f537fea/Documentation~/ClassApi/FSMState.md
2024-10-16 00:03:41 +08:00

1.7 KiB

FSMState

class in XFFSM

说明:

状态基类

字段

名称 说明
controller 状态控制器
currentStateInfo 当前状态信息
userData 自定义数据(通过FSMController.StartupFSM()启动状态机传递自定义数据)
lastState 上一个状态的名称
nextState 将要切换的下一个状态的名称(该字段仅在状态将要退出(OnExit)时有值)

属性

| transform | 状态控制器所在的Transform |

方法

名称 说明
OnCreate 当第一次进入该状态时调用,该方法仅调用一次(初始化相关操作推荐放该方法中)
OnEnter 当状态进入时执行
OnExit 当状态退出时执行
OnUpdate 每帧执行
OnFixedUpdate FixedUpdate时执行
OnLateUpdate LateUpdate时执行

代码示例


using UnityEngine;

public class TestState1 : FSMState
{
   private Player player;
   public override void OnEnter()
   {
       base.OnEnter();
       // 可以通过controller访问该游戏物体身上的其他组件,执行逻辑
       // Transform transform = controller.GetComponent<Transform>(); 
   }

   public override void OnExit()
   {
       base.OnExit(); 
   }

   public override void OnUpdate()
   {
       base.OnUpdate();
       if (player == null)
           player = controller.GetComponent<Player>();
       player.Rotate();
   }

   public override void OnFixedUpdate()
   {
       base.OnFixedUpdate();
   }

   public override void OnLateUpdate()
   {
       base.OnLateUpdate();
   }

}