using System.Collections.Generic; using GameLogic; using TEngine; using UnityEngine; public partial class GameApp { private List _listLogicMgr; public override void Active() { CodeTypes.Instance.Init(_hotfixAssembly.ToArray()); EventInterfaceHelper.Init(); _listLogicMgr = new List(); RegisterAllSystem(); InitSystemSetting(); } /// /// 设置一些通用的系统属性。 /// private void InitSystemSetting() { } /// /// 注册所有逻辑系统 /// private void RegisterAllSystem() { //带生命周期的单例系统。 AddLogicSys(BehaviourSingleSystem.Instance); } /// /// 注册逻辑系统。 /// /// ILogicSys /// private bool AddLogicSys(ILogicSys logicSys) { if (_listLogicMgr.Contains(logicSys)) { Log.Fatal("Repeat add logic system: {0}", logicSys.GetType().Name); return false; } if (!logicSys.OnInit()) { Log.Fatal("{0} Init failed", logicSys.GetType().Name); return false; } _listLogicMgr.Add(logicSys); return true; } }