/*********
 ** Public methods
 *********/
 /// <summary>Construct an instance.</summary>
 /// <param name="modRegistry">An API for fetching metadata about loaded mods.</param>
 /// <param name="monitor">Encapsulates monitoring and logging.</param>
 /// <param name="manifest">The mod manifest.</param>
 /// <param name="modData">The mod's hardcoded data.</param>
 /// <param name="getConfig">Get the current config model.</param>
 /// <param name="reset">Reset the config model to the default values.</param>
 /// <param name="saveAndApply">Save and apply the current config model.</param>
 public GenericModConfigMenuIntegrationForSmallBeachFarm(IModRegistry modRegistry, IMonitor monitor, IManifest manifest, ModData modData, Func <ModConfig> getConfig, Action reset, Action saveAndApply)
 {
     this.ConfigMenu = new GenericModConfigMenuIntegration <ModConfig>(modRegistry, monitor, manifest, getConfig, reset, saveAndApply);
     foreach (ModFarmMapData farm in modData.FarmMaps)
     {
         this.FarmChoices[farm.ID] = farm.Name ?? farm.Map;
     }
 }
コード例 #2
0
 /*********
 ** Private methods
 *********/
 /****
 ** Event handlers
 ****/
 /// <inheritdoc cref="IGameLoopEvents.GameLaunched"/>
 /// <param name="sender">The event sender.</param>
 /// <param name="e">The event arguments.</param>
 private void OnGameLaunched(object sender, GameLaunchedEventArgs e)
 {
     GenericModConfigMenuIntegration.Register(this.ModManifest, this.Helper.ModRegistry, this.Monitor,
                                              getConfig: () => this.Config,
                                              reset: () => this.Config = new(),
                                              save: () => this.Helper.WriteConfig(this.Config)
                                              );
 }
 /*********
 ** Public methods
 *********/
 /// <summary>Construct an instance.</summary>
 /// <param name="modRegistry">An API for fetching metadata about loaded mods.</param>
 /// <param name="monitor">Encapsulates monitoring and logging.</param>
 /// <param name="manifest">The mod manifest.</param>
 /// <param name="parseCommaDelimitedField">The Generic Mod Config Menu integration.</param>
 /// <param name="config">The config model.</param>
 /// <param name="saveAndApply">Save and apply the current config model.</param>
 public GenericModConfigMenuIntegrationForContentPack(IModRegistry modRegistry, IMonitor monitor, IManifest manifest, Func <string, InvariantHashSet> parseCommaDelimitedField, InvariantDictionary <ConfigField> config, Action saveAndApply)
 {
     this.Config     = config;
     this.ConfigMenu = new GenericModConfigMenuIntegration <InvariantDictionary <ConfigField> >(
         modRegistry: modRegistry,
         monitor: monitor,
         consumerManifest: manifest,
         getConfig: () => config,
         reset: () =>
     {
         this.Reset();
         saveAndApply();
     },
         saveAndApply
         );
     this.ParseCommaDelimitedField = parseCommaDelimitedField;
 }
 /*********
 ** Public methods
 *********/
 /// <summary>Construct an instance.</summary>
 /// <param name="modRegistry">An API for fetching metadata about loaded mods.</param>
 /// <param name="monitor">Encapsulates monitoring and logging.</param>
 /// <param name="manifest">The mod manifest.</param>
 /// <param name="getConfig">Get the current config model.</param>
 /// <param name="reset">Reset the config model to the default values.</param>
 /// <param name="saveAndApply">Save and apply the current config model.</param>
 public GenericModConfigMenuIntegrationForHorseFluteAnywhere(IModRegistry modRegistry, IMonitor monitor, IManifest manifest, Func <ModConfig> getConfig, Action reset, Action saveAndApply)
 {
     this.ConfigMenu = new GenericModConfigMenuIntegration <ModConfig>(modRegistry, monitor, manifest, getConfig, reset, saveAndApply);
 }
コード例 #5
0
 /*********
 ** Public methods
 *********/
 /// <summary>Construct an instance.</summary>
 /// <param name="modRegistry">An API for fetching metadata about loaded mods.</param>
 /// <param name="monitor">Encapsulates monitoring and logging.</param>
 /// <param name="manifest">The mod manifest.</param>
 /// <param name="data">The internal mod data.</param>
 /// <param name="getConfig">Get the current config model.</param>
 /// <param name="reset">Reset the config model to the default values.</param>
 /// <param name="saveAndApply">Save and apply the current config model.</param>
 public GenericModConfigMenuIntegrationForAutomate(IModRegistry modRegistry, IMonitor monitor, IManifest manifest, DataModel data, Func <ModConfig> getConfig, Action reset, Action saveAndApply)
 {
     this.ConfigMenu = new GenericModConfigMenuIntegration <ModConfig>(modRegistry, monitor, manifest, getConfig, reset, saveAndApply);
     this.Data       = data;
 }
コード例 #6
0
 /*********
 ** Public methods
 *********/
 /// <summary>Construct an instance.</summary>
 /// <param name="modRegistry">An API for fetching metadata about loaded mods.</param>
 /// <param name="monitor">Encapsulates monitoring and logging.</param>
 /// <param name="manifest">The mod manifest.</param>
 /// <param name="getConfig">Get the current config model.</param>
 /// <param name="reset">Reset the config model to the default values.</param>
 /// <param name="saveAndApply">Save and apply the current config model.</param>
 public GenericModConfigMenuIntegrationForTractor(IModRegistry modRegistry, IMonitor monitor, IManifest manifest, Func <ModConfig> getConfig, Action reset, Action saveAndApply)
 {
     this.ConfigMenu  = new GenericModConfigMenuIntegration <ModConfig>(modRegistry, monitor, manifest, getConfig, reset, saveAndApply);
     this.ModRegistry = modRegistry;
 }
コード例 #7
0
 /// <summary>Construct an instance.</summary>
 /// <param name="modRegistry">API for fetching metadata about loaded mods.</param>
 /// <param name="monitor">Encapsulates monitoring and logging.</param>
 /// <param name="manifest">The mod manifest.</param>
 /// <param name="getConfig">Get the current config model.</param>
 /// <param name="reset">Reset the config model to the default values.</param>
 /// <param name="saveAndApply">Save and apply the current config model.</param>
 public GenericModConfigMenuIntegrationForAwesomeTools(IModRegistry modRegistry, IMonitor monitor, IManifest manifest, Func <ToolConfig> getConfig, Action reset, Action saveAndApply)
 {
     _modRegistry = modRegistry;
     _configMenu  = new GenericModConfigMenuIntegration <ToolConfig>(modRegistry, monitor, manifest, getConfig, reset, saveAndApply);
 }