// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "Blueprint/UserWidget.h" #include "GameSettingDetailExtension.generated.h" #define UE_API GAMESETTINGS_API enum class EGameSettingChangeReason : uint8; class UGameSetting; class UObject; /** * */ UCLASS(MinimalAPI, Abstract, meta = (Category = "Settings", DisableNativeTick)) class UGameSettingDetailExtension : public UUserWidget { GENERATED_BODY() public: UE_API void SetSetting(UGameSetting* InSetting); protected: UE_API virtual void NativeSettingAssigned(UGameSetting* InSetting); UE_API virtual void NativeSettingValueChanged(UGameSetting* InSetting, EGameSettingChangeReason Reason); UFUNCTION(BlueprintImplementableEvent) UE_API void OnSettingAssigned(UGameSetting* InSetting); UFUNCTION(BlueprintImplementableEvent) UE_API void OnSettingValueChanged(UGameSetting* InSetting); protected: UPROPERTY(Transient) TObjectPtr Setting; }; #undef UE_API