/// <summary> /// 添加Module /// </summary> /// <param name="moduleType"></param> /// <param name="gameModule"></param> public void AddModule(byte moduleType, AbstractModule gameModule) { if (!m_gameModuleDict.ContainsKey(moduleType)) { m_gameModuleDict.Add(moduleType, gameModule); } }
/// <summary> /// 初始化所有核心Module /// </summary> private void InitGameModules() { Type[] allModuleTypes = ReflectionHelper.GetAssemblyCustomAttributeTypeList <EngineCoreModuleAttribute>(); for (int i = 0; i < allModuleTypes.Length; ++i) { EngineCoreModuleAttribute EngineCoreModuleAttribute = allModuleTypes[i].GetCustomAttributes(typeof(EngineCoreModuleAttribute), false)[0] as EngineCoreModuleAttribute; AbstractModule targetGameModule = Activator.CreateInstance(allModuleTypes[i], true) as AbstractModule; AddModule((byte)EngineCoreModuleAttribute.Type, targetGameModule); } }