// 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); } }
public void PrepareRun() { currentTick = 0; scheduler = new TickDelayScheduler(); scheduler.Initialize(currentTick); MethodsCalled = new List <int>(); CallTimestamps = new List <int>(); }
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); } }
// 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); } }
// 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); } }
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); } }
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); } }