private void OnGameLaunched(object sender, GameLaunchedEventArgs e) { // Hook into the APIs we utilize if (Helper.ModRegistry.IsLoaded("Omegasis.SaveAnywhere") && ApiManager.HookIntoSaveAnywhere(Helper)) { _saveAnywhereApi = ApiManager.GetSaveAnywhereApi(); // Hook into save related events _saveAnywhereApi.BeforeSave += this.OnSaving; _saveAnywhereApi.AfterSave += this.OnCustomLoad; // Save Anywhere's AfterSave event doesn't seem to be triggered, known issue _saveAnywhereApi.AfterLoad += this.OnCustomLoad; } if (Helper.ModRegistry.IsLoaded("bcmpinc.WearMoreRings") && ApiManager.HookIntoIWMR(Helper)) { RingManager.wearMoreRingsApi = ApiManager.GetIWMRApi(); } if (Helper.ModRegistry.IsLoaded("spacechase0.JsonAssets") && ApiManager.HookIntoJsonAssets(Helper)) { _jsonAssetsApi = ApiManager.GetJsonAssetsApi(); // Hook into IdsAssigned _jsonAssetsApi.IdsAssigned += this.IdsAssigned; } if (Helper.ModRegistry.IsLoaded("Pathoschild.ContentPatcher") && ApiManager.HookIntoContentPatcher(Helper)) { _contentPatcherApi = ApiManager.GetContentPatcherInterface(); _contentPatcherApi.RegisterToken(ModManifest, "Companions", new CompanionToken()); } // Load any owned content packs this.LoadContentPacks(); }
internal static bool HookIntoSaveAnywhere(IModHelper helper) { saveAnywhereApi = helper.ModRegistry.GetApi <ISaveAnywhereApi>("Omegasis.SaveAnywhere"); if (saveAnywhereApi is null) { monitor.Log("Failed to hook into Omegasis.SaveAnywhere.", LogLevel.Error); return(false); } monitor.Log("Successfully hooked into Omegasis.SaveAnywhere.", LogLevel.Debug); return(true); }