// 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 ModSpottingManager PrepareSpotter(bool deleteFile, params string[] packageIds) { if (deleteFile && testingFile.Exists) { testingFile.Delete(); } var spotter = new ModSpottingManager(testingFile.Name, logger); spotter.InspectPackageIds(packageIds); return(spotter); }