/// <summary> /// 初始化流程管理器。 /// </summary> /// <param name="fsmManager">有限状态机管理器。</param> /// <param name="procedures">流程管理器包含的流程。</param> public void Initialize(FsmManager fsmManager, params ProcedureBase[] procedures) { if (fsmManager == null) { throw new GameFrameworkException("FSM manager is invalid."); } m_FsmManager = fsmManager; m_ProcedureFsm = m_FsmManager.CreateFsm(this, procedures); }
/// <summary> /// 初始化流程管理器的新实例。 /// </summary> public ProcedureManager() { m_FsmManager = null; m_ProcedureFsm = null; GameObject go = new GameObject("__HotFixProcedure__"); go.transform.parent = GameEntry.Base.transform.parent; EditorProcedureMgr = go.AddComponent <HotfixProcedureMgr>(); }
/// <summary> /// 关闭并清理流程管理器。 /// </summary> public void Shutdown() { if (m_FsmManager != null) { if (m_ProcedureFsm != null) { m_FsmManager.DestroyFsm(m_ProcedureFsm); m_ProcedureFsm = null; } m_FsmManager = null; } }
public static void Initialize() { Fsm = new FsmManager(); Procedure = new ProcedureManager(); Event = new EventManager(); ETNetwork = new ETNetworkManager(); Timer = new TimerMgr(); UI = new UIMgr(GameEntry.UI); Res = new ResourceMgr(GameEntry.Resource); Config = new ConfigMgr(); Lang = new LangMgr(GameEntry.Localization); Entity = new EntityMgr(GameEntry.Entity); //初始化ET网络 ETNetwork.Init(); //初始化流程管理器 ProcedureBase[] procedureArry = GetAllProcedure(out var nameList); Procedure.SetAllProcedureName(nameList); Procedure.Initialize(Fsm, procedureArry); }