RealtimeStyleTransferRuntime/Plugins/GameSettings/Source/Public/Widgets/GameSettingDetailView.h

75 lines
2.4 KiB
C
Raw Normal View History

2022-05-23 18:41:30 +00:00
// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
2022-09-13 07:18:28 +00:00
#include "Blueprint/UserWidget.h"
2022-05-23 18:41:30 +00:00
#include "Blueprint/UserWidgetPool.h"
2022-09-13 07:18:28 +00:00
#include "Templates/SharedPointer.h"
#include "Templates/SubclassOf.h"
#include "UObject/UObjectGlobals.h"
2022-05-23 18:41:30 +00:00
#include "GameSettingDetailView.generated.h"
class UCommonRichTextBlock;
class UCommonTextBlock;
class UGameSetting;
class UGameSettingDetailExtension;
class UGameSettingVisualData;
2022-09-13 07:18:28 +00:00
class UObject;
class UVerticalBox;
struct FStreamableHandle;
2022-05-23 18:41:30 +00:00
/**
*
*/
UCLASS(Abstract)
class GAMESETTINGS_API UGameSettingDetailView : public UUserWidget
{
GENERATED_BODY()
public:
UGameSettingDetailView(const FObjectInitializer& ObjectInitializer);
void FillSettingDetails(UGameSetting* InSetting);
//UVisual interface
virtual void ReleaseSlateResources(bool bReleaseChildren) override;
//~ End UVisual Interface
protected:
virtual void NativeConstruct() override;
virtual void NativeOnInitialized() override;
void CreateDetailsExtension(UGameSetting* InSetting, TSubclassOf<UGameSettingDetailExtension> ExtensionClass);
protected:
UPROPERTY(EditAnywhere)
2022-09-13 07:18:28 +00:00
TObjectPtr<UGameSettingVisualData> VisualData;
2022-05-23 18:41:30 +00:00
UPROPERTY(Transient)
FUserWidgetPool ExtensionWidgetPool;
UPROPERTY(Transient)
2022-09-13 07:18:28 +00:00
TObjectPtr<UGameSetting> CurrentSetting;
2022-05-23 18:41:30 +00:00
TSharedPtr<FStreamableHandle> StreamingHandle;
private: // Bound Widgets
UPROPERTY(BlueprintReadOnly, meta = (BindWidgetOptional, BlueprintProtected = true, AllowPrivateAccess = true))
2022-09-13 07:18:28 +00:00
TObjectPtr<UCommonTextBlock> Text_SettingName;
2022-05-23 18:41:30 +00:00
UPROPERTY(BlueprintReadOnly, meta = (BindWidgetOptional, BlueprintProtected = true, AllowPrivateAccess = true))
2022-09-13 07:18:28 +00:00
TObjectPtr<UCommonRichTextBlock> RichText_Description;
2022-05-23 18:41:30 +00:00
UPROPERTY(BlueprintReadOnly, meta = (BindWidgetOptional, BlueprintProtected = true, AllowPrivateAccess = true))
2022-09-13 07:18:28 +00:00
TObjectPtr<UCommonRichTextBlock> RichText_DynamicDetails;
2022-05-23 18:41:30 +00:00
UPROPERTY(BlueprintReadOnly, meta = (BindWidgetOptional, BlueprintProtected = true, AllowPrivateAccess = true))
2022-09-13 07:18:28 +00:00
TObjectPtr<UCommonRichTextBlock> RichText_WarningDetails;
2022-05-23 18:41:30 +00:00
UPROPERTY(BlueprintReadOnly, meta = (BindWidgetOptional, BlueprintProtected = true, AllowPrivateAccess = true))
2022-09-13 07:18:28 +00:00
TObjectPtr<UCommonRichTextBlock> RichText_DisabledDetails;
2022-05-23 18:41:30 +00:00
UPROPERTY(BlueprintReadOnly, meta = (BindWidgetOptional, BlueprintProtected = true, AllowPrivateAccess = true))
2022-09-13 07:18:28 +00:00
TObjectPtr<UVerticalBox> Box_DetailsExtension;
2022-05-23 18:41:30 +00:00
};