ULimenModularSettingsSubsystem
Overview
ULimenModularSettingsSubsystem is an abstract class that serves as a manager for a specific set of settings. It handles tasks such as saving and resetting settings, and it acts as a wrapper around individual settings. This subsystem should not contain any specific information regarding a setting itself.
Properties
Type | Name | Access | Description |
|---|---|---|---|
| OnPlayerPostLogin | Public | Delegate called when a player controller logs in. |
| OnSettingUpdated | BlueprintAssignable | Event triggered when a setting is updated. |
Functions
Return Type | Signature | Description |
|---|---|---|
| Initialize(FSubsystemCollectionBase& Collection) | Initializes the subsystem, loading default settings and attaching event handlers to settings. |
| Deinitialize() | Deinitializes the subsystem, saving settings and removing event handlers. |
| ShouldCreateSubsystem(UObject* Outer) const | Determines if the subsystem should be created based on the outer object and server status. |
| PlayerControllerChanged(APlayerController* NewPlayerController) | Updates the current player controller and applies settings to it. |
| CanEditSetting(const TSubclassOf< ULimenSetting >& Class) const | Checks if a setting can be edited based on its editable interface. |
| EditSelectionSetting(const TSubclassOf< ULimenSetting >& Class, const FString& NewSelection) | Edits the selection of a setting to a new value. |
| EditToggleSetting(const TSubclassOf< ULimenSetting >& Class, const bool NewState) | Edits the toggle state of a setting to a new value. |
| EditValueSetting(const TSubclassOf< ULimenSetting >& Class, const float NewValue) | Edits the value of a setting to a new value. |
| ResetAllToDefault() | Resets all settings to their default values. |
| ResetSettingToDefault(const TSubclassOf< ULimenSetting >& Class) | Resets a specific setting to its default value. |
| GetSetting(const TSubclassOf< ULimenSetting > Class) const | Retrieves a setting by its class type. |
Usage & Implementation Notes
Threading Constraints: This subsystem should be used on the game thread.
Replication Requirements: None.
Memory Lifetime Management: Settings are managed within this subsystem, and their lifetime is tied to the subsystem's lifecycle.
Initialization Dependencies: The subsystem depends on
ULimenLocalPlayerStorageSubsystemfor initialization.