Exemple #1
0
        /// <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);
        }
Exemple #2
0
        /// <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>();
        }
Exemple #3
0
        /// <summary>
        /// 关闭并清理流程管理器。
        /// </summary>
        public void Shutdown()
        {
            if (m_FsmManager != null)
            {
                if (m_ProcedureFsm != null)
                {
                    m_FsmManager.DestroyFsm(m_ProcedureFsm);
                    m_ProcedureFsm = null;
                }

                m_FsmManager = null;
            }
        }
Exemple #4
0
        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);
        }