com.alicizax.unity.framework/Runtime/Procedure/ProcedureBase.cs

44 lines
871 B
C#
Raw Normal View History

2025-11-18 16:15:11 +08:00
namespace AlicizaX
{
2026-04-27 19:43:38 +08:00
// public interface IProcedure
// {
// void Init();
// void Enter();
// void Leave();
// void Update();
// void Destroy();
// }
2025-11-18 16:15:11 +08:00
/// <summary>
/// 流程基类 - 使用模板方法模式定义流程生命周期
/// </summary>
2026-04-27 19:43:38 +08:00
public abstract class ProcedureBase
2025-11-18 16:15:11 +08:00
{
2026-04-27 19:43:38 +08:00
protected internal virtual void OnInit()
2025-11-18 16:15:11 +08:00
{
}
2026-04-27 19:43:38 +08:00
protected internal virtual void OnEnter()
2025-11-18 16:15:11 +08:00
{
}
2026-04-27 19:43:38 +08:00
protected internal virtual void OnLeave()
2025-11-18 16:15:11 +08:00
{
}
2026-04-27 19:43:38 +08:00
protected internal virtual void OnUpdate()
2025-11-18 16:15:11 +08:00
{
}
2026-04-27 19:43:38 +08:00
protected internal virtual void OnDestroy()
2025-11-18 16:15:11 +08:00
{
}
protected internal void SwitchProcedure<T>() where T : ProcedureBase
{
2026-04-27 19:43:38 +08:00
ProcedureBuilder.SwitchProcedure<T>();
2025-11-18 16:15:11 +08:00
}
}
}