From 5223d4f93677c2c7a81ef9b246a3c68e697c4103 Mon Sep 17 00:00:00 2001 From: ALEXTANG <574809918@qq.com> Date: Wed, 31 Aug 2022 17:58:03 +0800 Subject: [PATCH] DataCenter DataCenter --- .../Runtime/Core/NetWork/DataCenter.meta | 8 ++++ .../Core/NetWork/DataCenter/DataCenterSys.cs | 47 ++++++++++++++++++ .../NetWork/DataCenter/DataCenterSys.cs.meta | 3 ++ .../NetWork/DataCenter/IDataCenterModule.cs | 48 +++++++++++++++++++ .../DataCenter/IDataCenterModule.cs.meta | 11 +++++ 5 files changed, 117 insertions(+) create mode 100644 Assets/TEngine/Scripts/Runtime/Core/NetWork/DataCenter.meta create mode 100644 Assets/TEngine/Scripts/Runtime/Core/NetWork/DataCenter/DataCenterSys.cs create mode 100644 Assets/TEngine/Scripts/Runtime/Core/NetWork/DataCenter/DataCenterSys.cs.meta create mode 100644 Assets/TEngine/Scripts/Runtime/Core/NetWork/DataCenter/IDataCenterModule.cs create mode 100644 Assets/TEngine/Scripts/Runtime/Core/NetWork/DataCenter/IDataCenterModule.cs.meta diff --git a/Assets/TEngine/Scripts/Runtime/Core/NetWork/DataCenter.meta b/Assets/TEngine/Scripts/Runtime/Core/NetWork/DataCenter.meta new file mode 100644 index 00000000..1f87e024 --- /dev/null +++ b/Assets/TEngine/Scripts/Runtime/Core/NetWork/DataCenter.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0c082721d12c4e246bfc778ee308fdca +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TEngine/Scripts/Runtime/Core/NetWork/DataCenter/DataCenterSys.cs b/Assets/TEngine/Scripts/Runtime/Core/NetWork/DataCenter/DataCenterSys.cs new file mode 100644 index 00000000..6080182a --- /dev/null +++ b/Assets/TEngine/Scripts/Runtime/Core/NetWork/DataCenter/DataCenterSys.cs @@ -0,0 +1,47 @@ +using System.Collections.Generic; + +namespace TEngine.Runtime +{ + /// + /// 数据中心系统 + /// + public class DataCenterSys : BehaviourSingleton + { + private List m_listModule = new List(); + + 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); + } + } + } +} \ No newline at end of file diff --git a/Assets/TEngine/Scripts/Runtime/Core/NetWork/DataCenter/DataCenterSys.cs.meta b/Assets/TEngine/Scripts/Runtime/Core/NetWork/DataCenter/DataCenterSys.cs.meta new file mode 100644 index 00000000..763dfebd --- /dev/null +++ b/Assets/TEngine/Scripts/Runtime/Core/NetWork/DataCenter/DataCenterSys.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 4464f308141d4b9281adb17d25a224fd +timeCreated: 1661939800 \ No newline at end of file diff --git a/Assets/TEngine/Scripts/Runtime/Core/NetWork/DataCenter/IDataCenterModule.cs b/Assets/TEngine/Scripts/Runtime/Core/NetWork/DataCenter/IDataCenterModule.cs new file mode 100644 index 00000000..b00e9abe --- /dev/null +++ b/Assets/TEngine/Scripts/Runtime/Core/NetWork/DataCenter/IDataCenterModule.cs @@ -0,0 +1,48 @@ +namespace TEngine.Runtime +{ + public interface IDataCenterModule + { + void Init(); + + void OnRoleLogout(); + + void OnUpdate(); + + void OnMainPlayerMapChange(); + } + public class DataCenterModule : 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() + { + + } + } +} \ No newline at end of file diff --git a/Assets/TEngine/Scripts/Runtime/Core/NetWork/DataCenter/IDataCenterModule.cs.meta b/Assets/TEngine/Scripts/Runtime/Core/NetWork/DataCenter/IDataCenterModule.cs.meta new file mode 100644 index 00000000..7da4ab5a --- /dev/null +++ b/Assets/TEngine/Scripts/Runtime/Core/NetWork/DataCenter/IDataCenterModule.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 331a154d1cbde224492f4e072ba6796d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: