コード例 #1
0
 // 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);
     }
 }
コード例 #2
0
 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);
     }
 }
コード例 #3
0
 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);
     }
 }
コード例 #4
0
 // 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);
     }
 }
コード例 #5
0
 private void PrepareReflection()
 {
     InjectedDefHasher.PrepareReflection();
     LogWindowExtensions.PrepareReflection();
     QuickstartController.PrepareReflection();
 }
コード例 #6
0
 internal void OnGUIUnfiltered()
 {
     QuickstartController.OnGUIUnfiltered();
 }