From cdec7db14cc365c700a7037572fd28eb5eddf6d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E9=93=AE?= <834207172@qq.com> Date: Wed, 23 Apr 2025 20:07:51 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90m=E3=80=91=E5=A2=9E=E5=8A=A0=E4=B8=80?= =?UTF-8?q?=E4=B8=AA=E7=BB=93=E6=9E=84=E4=BD=93=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 | 37 +++++++++++++------ Assets/00.StaryEvo/package.json | 2 +- 2 files changed, 27 insertions(+), 12 deletions(-) diff --git a/Assets/00.StaryEvo/Runtime/Utility/FSM/FSMIState.cs b/Assets/00.StaryEvo/Runtime/Utility/FSM/FSMIState.cs index 7746654..0044318 100644 --- a/Assets/00.StaryEvo/Runtime/Utility/FSM/FSMIState.cs +++ b/Assets/00.StaryEvo/Runtime/Utility/FSM/FSMIState.cs @@ -4,27 +4,31 @@ using UnityEngine; namespace Stary.Evo { - public interface FSMIState { + public interface FSMIState + { IFsmSystem FsmSystem { get; } string Name { get; } - + //进入该状态时调用 UniTask OnEnterAsync(); + + UniTask OnEnterStructAsync(T param) where T : struct; UniTask OnEnterAsync(T param); - - UniTask OnEnterAsync(T1 param1, T2 param2); + + UniTask OnEnterAsync(T1 param1, T2 param2); + //每帧调用 void OnUpdate(); //退出该状态时调用 - + UniTask OnExitAsync(); } - + public abstract class AbstractFSMIState : FSMIState { public IFsmSystem FsmSystem { get; } - public string Name { get; } + public string Name { get; } public AbstractFSMIState(IFsmSystem system) { @@ -32,17 +36,28 @@ namespace Stary.Evo Name = GetType().Name; } - public abstract UniTask OnEnterAsync(T param); + public virtual UniTask OnEnterStructAsync(T param) where T : struct + { + return UniTask.CompletedTask; + } - public abstract UniTask OnEnterAsync(T1 param1, T2 param2); + public virtual UniTask OnEnterAsync(T param) + { + return UniTask.CompletedTask; + } + + public virtual UniTask OnEnterAsync(T1 param1, T2 param2) + { + return UniTask.CompletedTask; + } public abstract UniTask OnEnterAsync(); + public virtual void OnUpdate() { // Timer += Time.deltaTime; } - public abstract UniTask OnExitAsync(); } -} +} \ No newline at end of file diff --git a/Assets/00.StaryEvo/package.json b/Assets/00.StaryEvo/package.json index ba30529..8c53f61 100644 --- a/Assets/00.StaryEvo/package.json +++ b/Assets/00.StaryEvo/package.json @@ -1,6 +1,6 @@ { "name": "com.staryevo.main", - "version": "1.0.16", + "version": "1.0.17", "displayName": "00.StaryEvo", "description": "This is an Framework package", "unity": "2021.3",