14.1 Beta 1 SDK
IEmulatorSettingsProvider14.1 Beta
public interface Unbroken.LaunchBox.Plugins.Emulators.IEmulatorSettingsProviderDescribes the settings LaunchBox displays for one configured emulator, stores against that emulator, and hands back at launch.
Remarks
LaunchBox owns presentation, pending edits, platform inheritance, and the master enable switch. The integration owns persistence through its plugin-scoped services and the meaning of each setting. Implement Unbroken.LaunchBox.Plugins.Emulators.IEmulatorLaunchPreparer as well to consume loaded values through Unbroken.LaunchBox.Plugins.Emulators.EmulatorLaunchPreparationRequest.EmulatorSettings.Methods
System.Threading.Tasks.Task CopySettingsAsync(Unbroken.LaunchBox.Plugins.Data.IEmulator source, Unbroken.LaunchBox.Plugins.Data.IEmulator destination, System.Threading.CancellationToken cancellationToken)System.Threading.Tasks.Task DeleteSettingsAsync(Unbroken.LaunchBox.Plugins.Data.IEmulator emulator, System.Threading.CancellationToken cancellationToken)Unbroken.LaunchBox.Plugins.Forms.PluginConfigurationForm? GetSettingsPage(Unbroken.LaunchBox.Plugins.Data.IEmulator emulator)System.Threading.Tasks.Task<Unbroken.LaunchBox.Plugins.Forms.PluginConfigurationValues> LoadSettingsAsync(Unbroken.LaunchBox.Plugins.Data.IEmulator emulator, System.Threading.CancellationToken cancellationToken)System.Threading.Tasks.Task SaveSettingsAsync(Unbroken.LaunchBox.Plugins.Data.IEmulator emulator, Unbroken.LaunchBox.Plugins.Forms.PluginConfigurationValues settings, System.Threading.CancellationToken cancellationToken)
CopySettingsAsync 14.1 Beta
System.Threading.Tasks.Task CopySettingsAsync(Unbroken.LaunchBox.Plugins.Data.IEmulator source, Unbroken.LaunchBox.Plugins.Data.IEmulator destination, System.Threading.CancellationToken cancellationToken)Copies plugin-owned settings as part of the host's emulator copy operation.
source14.1 Beta- The original emulator entry.
destination14.1 Beta- The copied entry. Its ID may be unchanged for an in-memory clone.
cancellationToken14.1 Beta- Cancels the operation.
Returns
A task completing after any required settings copy succeeds.Remarks
Preserve all platform overrides. A same-ID clone references the same persisted settings and must not overwrite them.DeleteSettingsAsync 14.1 Beta
System.Threading.Tasks.Task DeleteSettingsAsync(Unbroken.LaunchBox.Plugins.Data.IEmulator emulator, System.Threading.CancellationToken cancellationToken)GetSettingsPage 14.1 Beta
Unbroken.LaunchBox.Plugins.Forms.PluginConfigurationForm? GetSettingsPage(Unbroken.LaunchBox.Plugins.Data.IEmulator emulator)Gets the settings page for one configured emulator.
emulator14.1 Beta- The emulator whose settings are being opened.
Returns
The page to display, ornull when the integration exposes no settings for this emulator.
Remarks
LaunchBox calls this while the user browses the emulator edit window and never on the game launch path, so it may inspect the installed emulator to decide which settings that build supports. Return a scoped form with load, validation, and submission callbacks bound to this emulator. Choices can be built from current state, such as the monitors attached right now. A setting the emulator cannot support is best omitted from the page, and any value already stored for an omitted setting must be treated as omitted at launch.LoadSettingsAsync 14.1 Beta
System.Threading.Tasks.Task<Unbroken.LaunchBox.Plugins.Forms.PluginConfigurationValues> LoadSettingsAsync(Unbroken.LaunchBox.Plugins.Data.IEmulator emulator, System.Threading.CancellationToken cancellationToken)SaveSettingsAsync 14.1 Beta
System.Threading.Tasks.Task SaveSettingsAsync(Unbroken.LaunchBox.Plugins.Data.IEmulator emulator, Unbroken.LaunchBox.Plugins.Forms.PluginConfigurationValues settings, System.Threading.CancellationToken cancellationToken)Persists the settings accepted by the user in the shared editor.
emulator14.1 Beta- The entry receiving the settings.
settings14.1 Beta- The complete snapshot, including base values and platform overrides.
cancellationToken14.1 Beta- Cancels the operation.