From f78a5543d19b7997ebc48aff90e4c135cbbbe0c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E9=93=AE?= <834207172@qq.com> Date: Thu, 24 Apr 2025 10:37:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=2000=20fsm=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Runtime/Utility/FSM/FSMIState.cs | 4 ++-- .../Runtime/Utility/FSM/FSMISystem.cs | 18 +++++++++++++++++- Assets/00.StaryEvo/package.json | 2 +- 3 files changed, 20 insertions(+), 4 deletions(-) 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",