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();
        }
Esempio n. 2
0
        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);
        }