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