You've already forked taptap2024_GJ_chidouren
init
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
# FSMState
|
||||
class in XFFSM
|
||||
|
||||
### 说明:
|
||||
|
||||
状态基类
|
||||
|
||||
### 字段
|
||||
|
||||
| 名称 | 说明 |
|
||||
| ----------- | ----------- |
|
||||
| controller | 状态控制器 |
|
||||
| currentStateInfo | 当前状态信息 |
|
||||
| userData | 自定义数据(通过FSMController.StartupFSM()启动状态机传递自定义数据) |
|
||||
| lastState | 上一个状态的名称 |
|
||||
| nextState | 将要切换的下一个状态的名称(该字段仅在状态将要退出(OnExit)时有值) |
|
||||
|
||||
### 属性
|
||||
|
||||
| transform | 状态控制器所在的Transform |
|
||||
|
||||
### 方法
|
||||
|
||||
| 名称 | 说明 |
|
||||
| ----------- | ----------- |
|
||||
| OnCreate| 当第一次进入该状态时调用,该方法仅调用一次(初始化相关操作推荐放该方法中) |
|
||||
| OnEnter| 当状态进入时执行 |
|
||||
| OnExit| 当状态退出时执行 |
|
||||
| OnUpdate| 每帧执行 |
|
||||
| OnFixedUpdate| FixedUpdate时执行 |
|
||||
| OnLateUpdate| LateUpdate时执行 |
|
||||
|
||||
### 代码示例
|
||||
|
||||
|
||||
> ```none
|
||||
>
|
||||
>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();
|
||||
> }
|
||||
>
|
||||
>}
|
||||
> ```
|
||||
|
||||
Reference in New Issue
Block a user