diff --git a/Assets/00.StaryEvo/Runtime/Utility/FSM/FSMIState.cs b/Assets/00.StaryEvo/Runtime/Utility/FSM/FSMIState.cs index 832c5da..95c4aab 100644 --- a/Assets/00.StaryEvo/Runtime/Utility/FSM/FSMIState.cs +++ b/Assets/00.StaryEvo/Runtime/Utility/FSM/FSMIState.cs @@ -12,7 +12,7 @@ namespace Stary.Evo //进入该状态时调用 UniTask OnEnterAsync(); - UniTask OnEnterObjectAsync(object param); + UniTask OnEnterAsync(object param); UniTask OnEnterAsync(T param); @@ -36,7 +36,7 @@ namespace Stary.Evo Name = GetType().Name; } - public virtual UniTask OnEnterObjectAsync(object param) + public virtual UniTask OnEnterAsync(object param) { return UniTask.CompletedTask; } diff --git a/Assets/00.StaryEvo/Runtime/Utility/FSM/FSMISystem.cs b/Assets/00.StaryEvo/Runtime/Utility/FSM/FSMISystem.cs index 3ada609..5d95821 100644 --- a/Assets/00.StaryEvo/Runtime/Utility/FSM/FSMISystem.cs +++ b/Assets/00.StaryEvo/Runtime/Utility/FSM/FSMISystem.cs @@ -64,7 +64,23 @@ namespace Stary.Evo CurState = state; CurState.OnEnterAsync(); } + /// + /// 异步状态切换,适用于有参 + /// + /// + /// + /// + public async UniTask SetCurState(string name, object param) + { + if (CurState != null) + { + await CurState.OnExitAsync(); + } + FSMIState state = GetStateWithName(name); + CurState = state; + await CurState.OnEnterAsync(param); + } /// /// 异步状态切换,适用于有参 /// @@ -80,7 +96,7 @@ namespace Stary.Evo FSMIState state = GetStateWithName(name); CurState = state; - await CurState.OnEnterAsync(param); + await CurState.OnEnterAsync(param); } /// diff --git a/Assets/00.StaryEvo/package.json b/Assets/00.StaryEvo/package.json index 137f022..ae5274b 100644 --- a/Assets/00.StaryEvo/package.json +++ b/Assets/00.StaryEvo/package.json @@ -1,6 +1,6 @@ { "name": "com.staryevo.main", - "version": "1.0.18", + "version": "1.0.19", "displayName": "00.StaryEvo", "description": "This is an Framework package", "unity": "2021.3",