diff --git a/Assets/TEngine/Runtime/Core/BehaviourSingleton.cs b/Assets/TEngine/Runtime/Core/BehaviourSingleton.cs index bc0743d4..77932744 100644 --- a/Assets/TEngine/Runtime/Core/BehaviourSingleton.cs +++ b/Assets/TEngine/Runtime/Core/BehaviourSingleton.cs @@ -15,6 +15,10 @@ namespace TEngine { if (null == sInstance) { + if (!TEngine.Instance.ContainLogicSys(BehaviourSingleSystem.Instance)) + { + TEngine.Instance.AddLogicSys(BehaviourSingleSystem.Instance); + } sInstance = new T(); TLogger.LogAssert(sInstance != null); sInstance.Awake(); diff --git a/Assets/TEngine/Runtime/Core/TEngine.cs b/Assets/TEngine/Runtime/Core/TEngine.cs index cbf33cbd..945ffdde 100644 --- a/Assets/TEngine/Runtime/Core/TEngine.cs +++ b/Assets/TEngine/Runtime/Core/TEngine.cs @@ -47,12 +47,17 @@ namespace TEngine //-------------------------------------------------------系统注册--------------------------------------------------------// private List m_LogicMgrList = new List(); + public bool ContainLogicSys(ILogicSys logicSys) + { + return m_LogicMgrList.Contains(logicSys); + } + /// /// 系统注册 /// /// /// - protected bool AddLogicSys(ILogicSys logicSys) + public bool AddLogicSys(ILogicSys logicSys) { if (m_LogicMgrList.Contains(logicSys)) {