// called during Verse.Mod instantiation private void InitializeController() { try { ReadOwnVersion(); Logger.Message("version {0}", LibraryVersion); PrepareReflection(); ApplyHarmonyPatches(); Settings = new ModSettingsManager(); Settings.BeforeModSettingsSaved += OnBeforeModSettingsSaved; UpdateFeatures = new UpdateFeatureManager(); UpdateFeatures.OnEarlyInitialize(); TickDelayScheduler = new TickDelayScheduler(); DistributedTicker = new DistributedTickScheduler(); DoLater = new DoLaterScheduler(); LogUploader = new LogPublisher(); var librarySettings = Settings.GetModSettings(ModIdentifier); QuickstartController.OnEarlyInitialize(librarySettings); ModSpotter = new ModSpottingManager(); ModSpotter.OnEarlyInitialize(); new LibraryVersionChecker(LibraryVersion, Logger).OnEarlyInitialize(); LoadOrderChecker.ValidateLoadOrder(); EnumerateModAssemblies(); EarlyInitializeChildMods(); } catch (Exception e) { Logger.ReportException(e); } }
private void RegisterOwnSettings() { try { var pack = Settings.GetModSettings(ModIdentifier); pack.EntryName = "HugsLib_ownSettingsName".Translate(); pack.DisplayPriority = ModSettingsPack.ListPriority.Lowest; pack.AlwaysExpandEntry = true; updateNewsSetting = pack.GetHandle("modUpdateNews", "HugsLib_setting_showNews_label".Translate(), "HugsLib_setting_showNews_desc".Translate(), true); var allNewsHandle = pack.GetHandle("showAllNews", "HugsLib_setting_allNews_label".Translate(), "HugsLib_setting_allNews_desc".Translate(), false); allNewsHandle.Unsaved = true; allNewsHandle.CustomDrawer = rect => { if (Widgets.ButtonText(rect, "HugsLib_setting_allNews_button".Translate())) { if (!UpdateFeatures.TryShowDialog(true)) { Find.WindowStack.Add(new Dialog_MessageBox("HugsLib_setting_allNews_fail".Translate())); } } return(false); }; QuickstartController.RegisterSettings(pack); } catch (Exception e) { Logger.ReportException(e); } }
private void RegisterOwnSettings() { try { var pack = Settings.GetModSettings(ModIdentifier); pack.EntryName = "HugsLib_ownSettingsName".Translate(); pack.DisplayPriority = ModSettingsPack.ListPriority.Lowest; pack.AlwaysExpandEntry = true; UpdateFeatures.RegisterSettings(pack); QuickstartController.RegisterSettings(pack); } catch (Exception e) { Logger.ReportException(e); } }
// called during static constructor initialization internal void LateInitialize() { try { if (!earlyInitializationCompleted) { Logger.Error("Attempted late initialization before early initialization: " + Environment.StackTrace); return; } if (lateInitializationCompleted) { Logger.Warning("Attempted repeated late initialization of controller: " + Environment.StackTrace); return; } lateInitializationCompleted = true; RegisterOwnSettings(); QuickstartController.Initialize(); LongEventHandler.QueueLongEvent(LoadReloadInitialize, "Initializing", true, null); } catch (Exception e) { Logger.Error("An exception occurred during late initialization: " + e); } }
private void PrepareReflection() { InjectedDefHasher.PrepareReflection(); LogWindowExtensions.PrepareReflection(); QuickstartController.PrepareReflection(); }
internal void OnGUIUnfiltered() { QuickstartController.OnGUIUnfiltered(); }