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
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|