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();
}
}
}
}