2022-05-23 18:41:30 +00:00
|
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "Blueprint/UserWidget.h"
|
2022-09-13 07:18:28 +00:00
|
|
|
#include "GameSettingFilterState.h"
|
|
|
|
#include "UObject/UObjectGlobals.h"
|
|
|
|
|
2022-05-23 18:41:30 +00:00
|
|
|
#include "GameSettingDetailExtension.generated.h"
|
|
|
|
|
|
|
|
class UGameSetting;
|
2022-09-13 07:18:28 +00:00
|
|
|
class UObject;
|
2022-05-23 18:41:30 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
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)
|
2022-09-13 07:18:28 +00:00
|
|
|
TObjectPtr<UGameSetting> Setting;
|
2022-05-23 18:41:30 +00:00
|
|
|
};
|