internal BetterRanchingApi(ModConfig config) { _config = config; }
/// <summary> /// Raised after the game is launched, right before the first update tick. This happens once per game session /// (unrelated to loading saves). All mods are loaded and initialised at this point, so this is a good time to set up /// mod integrations. /// </summary> private void OnGameLaunched(object sender, GameLaunchedEventArgs e) { // get Generic Mod Config Menu's API (if it's installed) var configMenu = Helper.ModRegistry.GetApi <IGenericModConfigMenuApi>("spacechase0.GenericModConfigMenu"); if (configMenu is null) { return; } // register mod configMenu.Register( ModManifest, () => Config = new ModConfig(), () => Helper.WriteConfig(Config) ); // add some config options configMenu.AddBoolOption( ModManifest, name: () => "Prevent Failed Harvesting", tooltip: () => "Prevents the failed milking/shearing animation and sound effect if no valid animal is selected. Note: Disable this if using the 'Tap-to-move & Auto-Attack' control scheme on Android.", getValue: () => Config.PreventFailedHarvesting, setValue: value => Config.PreventFailedHarvesting = value ); configMenu.AddBoolOption( ModManifest, name: () => "Show Animal Produce", tooltip: () => "Displays produce above animal if it is ready to be harvested.", getValue: () => Config.DisplayProduce, setValue: value => Config.DisplayProduce = value ); configMenu.AddBoolOption( ModManifest, name: () => "Show Farm Animal Hearts", tooltip: () => "Display hearts above farm animals (cows, ducks, etc.) that have not yet been petted.", getValue: () => Config.DisplayFarmAnimalHearts, setValue: value => Config.DisplayFarmAnimalHearts = value ); configMenu.AddBoolOption( ModManifest, name: () => "Show Pet Hearts", tooltip: () => "Display hearts above pets (dogs,cats,etc.) that have not yet been petted.", getValue: () => Config.DisplayPetHearts, setValue: value => Config.DisplayPetHearts = value ); configMenu.AddBoolOption( ModManifest, name: () => "[!] Enable Hearts", tooltip: () => "Allows hearts to be displayed above animals. Warning: Turning this off will hide ALL floating hearts enabled by this mod (animals, pets, etc.)", getValue: () => Config.DisplayHearts, setValue: value => Config.DisplayHearts = value ); configMenu.AddBoolOption( ModManifest, name: () => "Hide Hearts w/ Max Friendship", tooltip: () => "Hides the hearts when friendship with an animal or pet is at maximum level. Warning: Be careful with this because friendship will drop at the end of the day if you don't pet your friend!", getValue: () => Config.HideHeartsWhenFriendshipIsMax, setValue: value => Config.HideHeartsWhenFriendshipIsMax = value ); }