You've already forked taptap2024_GJ_chidouren
1.7 KiB
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(); } }