private void Awake() { while (ModulesToLoad[0].Count > 0) { ModuleAndAttribute temp = ModulesToLoad[0].Dequeue(); EnableModule(temp); } }
private void EnableModule(ModuleAndAttribute module) { Logger.LogInfo($"Enabling module: {module.Attribute.Name}"); ModuleAttribute customAttr = module.Attribute; Type type = module.Module; constuctorArgumentArray[0] = customAttr.Name; constuctorArgumentArray[1] = customAttr.Description; constuctorArgumentArray[2] = customAttr.DefaultEnabled; try { var ctor = type.GetConstructor(constructorParameters); R2DSEModule loadedModule = (R2DSEModule)ctor.Invoke(constuctorArgumentArray); loadedModule.ReloadHooks(); Modules.Add(customAttr.Name, loadedModule); } catch (Exception e) { Logger.LogError($"Couldn't load module: {constuctorArgumentArray[0]}"); Logger.LogError(e); } }
private void Start() { while (ModulesToLoad[1].Count > 0) { ModuleAndAttribute temp = ModulesToLoad[1].Dequeue(); EnableModule(temp); } StringBuilder stringBuilder = new StringBuilder("Enabled Modules: "); foreach (var pair in Modules) { if (pair.Value.IsEnabled) { stringBuilder.Append($"[{pair.Key}] "); } } Logger.LogInfo(stringBuilder.ToString()); LoadConVars(); LoadConCommands(); OnFinishLoading?.Invoke(); }