DataCenter

DataCenter
This commit is contained in:
ALEXTANG
2022-08-31 17:58:03 +08:00
parent f72821443c
commit 5223d4f936
5 changed files with 117 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 0c082721d12c4e246bfc778ee308fdca
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,47 @@
using System.Collections.Generic;
namespace TEngine.Runtime
{
/// <summary>
/// 数据中心系统
/// </summary>
public class DataCenterSys : BehaviourSingleton<DataCenterSys>
{
private List<IDataCenterModule> m_listModule = new List<IDataCenterModule>();
public override void Awake()
{
InitModule();
base.Awake();
}
public override void Update()
{
var listModule = m_listModule;
for (int i = 0; i < listModule.Count; i++)
{
listModule[i].OnUpdate();
}
base.Update();
}
public override void Destroy()
{
base.Destroy();
}
private void InitModule()
{
//InitModule(LoginDataMgr.Instance);
}
public void InitModule(IDataCenterModule module)
{
if (!m_listModule.Contains(module))
{
module.Init();
m_listModule.Add(module);
}
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 4464f308141d4b9281adb17d25a224fd
timeCreated: 1661939800

View File

@@ -0,0 +1,48 @@
namespace TEngine.Runtime
{
public interface IDataCenterModule
{
void Init();
void OnRoleLogout();
void OnUpdate();
void OnMainPlayerMapChange();
}
public class DataCenterModule<T> : IDataCenterModule where T : new()
{
private static T instance;
public static T Instance
{
get
{
if (null == instance)
{
instance = new T();
}
return instance;
}
}
public virtual void Init()
{
}
public virtual void OnRoleLogout()
{
}
public virtual void OnUpdate()
{
}
public virtual void OnMainPlayerMapChange()
{
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 331a154d1cbde224492f4e072ba6796d
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: