// 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
 public void PrepareRun()
 {
     scheduler = DistributedTickScheduler.Instance;
     scheduler.Initialize(0);
     totalCallbackCalls    = 0;
     callsPerCallback      = new List <int>();
     callbackCreationIndex = 0;
     registeredCallbacks   = new List <Action>();
 }
예제 #3
0
 public void PrepareRun()
 {
     currentTick = 0;
     scheduler   = new DistributedTickScheduler();
     scheduler.Initialize(currentTick);
     totalCallbackCalls    = 0;
     callsPerCallback      = new List <int>();
     callbackCreationIndex = 0;
     registeredReceivers   = new List <Thing>();
     calledReceiverIndexes = new List <int>();
     SetUpMockGame();
 }
예제 #4
0
 // called during Verse.Mod instantiation
 private void InitializeController()
 {
     try {
         PrepareReflection();
         ApplyHarmonyPatches();
         Settings           = new ModSettingsManager(OnSettingsChanged);
         UpdateFeatures     = new UpdateFeatureManager();
         TickDelayScheduler = new TickDelayScheduler();
         DistributedTicker  = new DistributedTickScheduler();
         LogUploader        = new LogPublisher();
         ReadOwnVersionFile();
         LoadOrderChecker.ValidateLoadOrder();
     } catch (Exception e) {
         Logger.ReportException(e);
     }
 }
예제 #5
0
 // called during Verse.Mod instantiation
 private void InitializeController()
 {
     try {
         ReadOwnVersion();
         Logger.Message("version {0}", LibraryVersion);
         PrepareReflection();
         ApplyHarmonyPatches();
         Settings           = new ModSettingsManager(OnSettingsChanged);
         UpdateFeatures     = new UpdateFeatureManager();
         TickDelayScheduler = new TickDelayScheduler();
         DistributedTicker  = new DistributedTickScheduler();
         DoLater            = new DoLaterScheduler();
         LogUploader        = new LogPublisher();
         LoadOrderChecker.ValidateLoadOrder();
         EnumerateModAssemblies();
         EarlyInitializeChildMods();
     } catch (Exception e) {
         Logger.ReportException(e);
     }
 }
예제 #6
0
 internal void Initalize()
 {
     if (Settings != null)               // double initialization safeguard by scene object, shouldn't happen
     {
         Logger.Error("Repeat initialization detected");
         return;
     }
     try {
         PrepareReflection();
         Settings          = new ModSettingsManager(OnSettingsChanged);
         UpdateFeatures    = new UpdateFeatureManager();
         CallbackScheduler = new CallbackScheduler();
         DistributedTicker = new DistributedTickScheduler();
         LogUploader       = new LogPublisher();
         reloadWatcher     = new DefReloadWatcher(OnDefReloadDetected);
         RegisterOwnSettings();
         ReadOwnVersionFile();
         LoadReloadInitialize();
     } catch (Exception e) {
         Logger.ReportException(e);
     }
 }