// 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);
     }
 }
Ejemplo n.º 2
0
 public void PrepareRun()
 {
     currentTick = 0;
     scheduler   = new TickDelayScheduler();
     scheduler.Initialize(currentTick);
     MethodsCalled  = new List <int>();
     CallTimestamps = new List <int>();
 }
Ejemplo n.º 3
0
 internal void OnGameInitializationStart(Game game)
 {
     try {
         var currentTick = game.tickManager.TicksGame;
         TickDelayScheduler.Initialize(currentTick);
         DistributedTicker.Initialize(currentTick);
         game.tickManager.RegisterAllTickabilityFor(new HugsTickProxy {
             CreatedByController = true
         });
     } catch (Exception e) {
         Logger.ReportException(e);
     }
 }
Ejemplo n.º 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);
     }
 }
Ejemplo n.º 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);
     }
 }
Ejemplo n.º 6
0
 public void OnTick()
 {
     if (initializationInProgress)
     {
         return;
     }
     try {
         var currentTick = Find.TickManager.TicksGame;
         for (int i = 0; i < childMods.Count; i++)
         {
             try {
                 childMods[i].Tick(currentTick);
             } catch (Exception e) {
                 Logger.ReportException(e, childMods[i].ModIdentifier, true);
             }
         }
         TickDelayScheduler.Tick(currentTick);
         DistributedTicker.Tick(currentTick);
     } catch (Exception e) {
         Logger.ReportException(e, null, true);
     }
 }
Ejemplo n.º 7
0
 internal void OnTick()
 {
     if (initializationInProgress)
     {
         return;
     }
     try {
         DoLater.OnTick();
         var currentTick = Find.TickManager.TicksGame;
         for (int i = 0; i < initializedMods.Count; i++)
         {
             try {
                 initializedMods[i].Tick(currentTick);
             } catch (Exception e) {
                 Logger.ReportException(e, initializedMods[i].LogIdentifierSafe, true);
             }
         }
         TickDelayScheduler.Tick(currentTick);
         DistributedTicker.Tick(currentTick);
     } catch (Exception e) {
         Logger.ReportException(e, null, true);
     }
 }