using System.Collections.Generic; using TEngine; namespace GameLogic { /// /// 数据中心模块。 /// public class DataCenterSys : BaseLogicSys { /// /// 子模块集合。 /// private readonly List _listModule = new List(); /// /// 初始化数据中心。 /// /// public override bool OnInit() { InitModule(); InitOtherModule(); return true; } /// /// 初始化数据中心接口。 /// /// public void InitModule(IDataCenterModule module) { if (_listModule.Contains(module)) { return; } module.Init(); _listModule.Add(module); } /// /// 初始化数据中心模块。 /// void InitModule() { InitModule(PlayerNetSys.Instance); } /// /// 初始化数据中心其他模块。 /// 优先级低于InitModule。 /// void InitOtherModule() { } /// /// 帧更新驱动。 /// public override void OnUpdate() { var listModule = _listModule; foreach (var module in listModule) { TProfiler.BeginSample(module.GetType().FullName); module.OnUpdate(); TProfiler.EndSample(); } } } }