A Demo Project for the UnrealEngineSDK
Loading...
Searching...
No Matches
UIData.h
Go to the documentation of this file.
1// Copyright(c) Pixo Group. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "Blueprint/UserWidget.h"
9#include "UObject/Object.h"
10#include "UIData.generated.h"
11
12class UDataTable;
13class UBasicWidget;
14
19UCLASS(BlueprintType)
20class PIXOCORE_API UBasicResponseData : public UObject
21{
22 GENERATED_BODY()
24public:
25 UBasicResponseData() { Data = this; }
27 {
28 UE_LOG(LogTemp, Warning, TEXT("Selected option :"));
29 }
30
31 bool NeedConfirm() const { return NeedShowConfirmation; }
32 void SetNeedConfirmation(bool Value) { NeedShowConfirmation = Value; };
33
34 virtual FCompareResult Compare(UBasicResponseData* ResponseData) const { return FCompareResult(); }
36private:
37 UPROPERTY() UBasicResponseData* Data;
38 UPROPERTY() bool NeedShowConfirmation = false;
39};
40
44UCLASS(BlueprintType)
45class PIXOCORE_API UBasicWidgetInfo : public UDataAsset
46{
47 GENERATED_BODY()
48
49public:
51 {
52 Guid = FGuid::NewGuid();
53 WidgetClass = UUserWidget::StaticClass();
54 }
56 UFUNCTION(BlueprintCallable, Category = "Update")
57 virtual void Update(const UBasicWidgetInfo* InNewData)
58 {
59 WidgetClass = InNewData->WidgetClass;
60 Heading = InNewData->Heading;
61 //bExitMenuButton = InNewData->bExitMenuButton;
62 }
63
64 void SetRefreshableById(const FGuid& PrevInfoGuid)
65 {
66 Guid = PrevInfoGuid;
67 bModal = false;
68 bIsUpdateRequest = false;
69 }
71 void SetupAsRefreshData(const FGuid& PrevInfoGuid)
72 {
73 Guid = PrevInfoGuid;
74 bModal = false;
75 bIsUpdateRequest = true;
76 }
78 UPROPERTY(EditAnywhere, BlueprintReadWrite)
79 TSubclassOf<UBasicWidget> WidgetClass;
80
81 UPROPERTY(EditAnywhere, BlueprintReadWrite)
82 FText Heading = FText::FromString(TEXT("Heading"));
83
84 // UPROPERTY(EditAnywhere, BlueprintReadWrite)
85 // bool bExitMenuButton = true;
86
87 UPROPERTY(EditAnywhere, BlueprintReadWrite)
88 bool bModal = false;
89
90 UPROPERTY(EditAnywhere, BlueprintReadWrite)
91 bool bIsUpdateRequest = false;
92
93 UPROPERTY(EditAnywhere, BlueprintReadWrite)
94 bool bCanRotate = true;
95
96 UPROPERTY(EditAnywhere, BlueprintReadWrite)
97 bool bPlayOpenCloseSound = true;
98
99 UPROPERTY(EditAnywhere, BlueprintReadWrite)
100 bool bUseTouchToInteractWithWidget;
101
102 UPROPERTY(EditAnywhere, BlueprintReadWrite)
103 bool UseCustomWidgetPosition;
104
105 // UPROPERTY(EditAnywhere, BlueprintReadWrite)
106 // bool bForcedExecuteOnCloseCallback = false;
107
108 UPROPERTY()
109 FGuid Guid;
110
111 UPROPERTY(EditAnywhere, BlueprintReadWrite)
112 int32 ClosingDistanceCm = -1.0f;
114 // UPROPERTY() bool bPredefinedTransform;
115 UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (EditCondition = "UseCustomWidgetPosition == true", EditConditionHides))
116 FVector Location;
117 UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (EditCondition = "UseCustomWidgetPosition == true", EditConditionHides))
118 FRotator Rotator;
119};
124UCLASS(BlueprintType)
125class PIXOCORE_API UButtonsListWidgetInfo : public UBasicWidgetInfo
126{
127 GENERATED_BODY()
128
129public:
130 virtual void Update(const UBasicWidgetInfo* InNewData) override
131 {
132 Super::Update(InNewData);
133
134 if (const UButtonsListWidgetInfo* ButtonWidgetListData = Cast<UButtonsListWidgetInfo>(InNewData))
135 {
136 DTButtonsList = ButtonWidgetListData->DTButtonsList;
137 bConfirmButton = ButtonWidgetListData->bConfirmButton;
138 ConfirmButtonLabel = ButtonWidgetListData->ConfirmButtonLabel;
139 bConfirmSelection = ButtonWidgetListData->bConfirmSelection;
140 }
142
143 UPROPERTY(EditAnywhere, BlueprintReadWrite)
144 UDataTable* DTButtonsList;
145
146 UPROPERTY(EditAnywhere, BlueprintReadWrite)
147 bool bConfirmButton = true;
149 UPROPERTY(EditAnywhere, BlueprintReadWrite)
150 FString ConfirmButtonLabel = "Confirm";
151
152 UPROPERTY(EditAnywhere, BlueprintReadWrite)
153 bool bConfirmSelection = true;
154};
155
159UCLASS(BlueprintType)
160class PIXOCORE_API USingleSelectionResponseData : public UBasicResponseData
161{
162 GENERATED_BODY()
164public:
165 UPROPERTY()
166 FText SelectedButton;
167};
168
172UCLASS(BlueprintType)
173class PIXOCORE_API UMultipleSelectionResponseData : public UBasicResponseData
174{
175 GENERATED_BODY()
176
177public:
178 UPROPERTY()
179 TArray<FString> SelectedButtons;
180};
181
185USTRUCT(BlueprintType)
186struct PIXOCORE_API FButtonInfo : public FTableRowBase
188 GENERATED_BODY()
190public:
191 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "ButtonSetup")
192 FText ButtonName;
193
194 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "ButtonSetup")
195 bool CheckButton = false;
196};
UObject class representing basic response data.
Definition UIData.h:24
virtual FCompareResult Compare(UBasicResponseData *ResponseData) const
Definition UIData.h:37
void SetNeedConfirmation(bool Value)
Definition UIData.h:35
bool NeedConfirm() const
Definition UIData.h:34
UBasicResponseData * Data
UPROPERTY()
Definition UIData.h:42
Base class for user widgets in the PixoCore module.
Definition BasicWidget.h:24
UDataAsset class representing basic widget information.
Definition UIData.h:56
void SetRefreshableById(const FGuid &PrevInfoGuid)
Definition UIData.h:77
bool UseCustomWidgetPosition
UPROPERTY(EditAnywhere, BlueprintReadWrite)
Definition UIData.h:148
FVector Location
UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (EditCondition = "UseCustomWidgetPosition == true"...
Definition UIData.h:171
void SetupAsRefreshData(const FGuid &PrevInfoGuid)
Definition UIData.h:84
TSubclassOf< UBasicWidget > WidgetClass
UPROPERTY(EditAnywhere, BlueprintReadWrite)
Definition UIData.h:96
virtual void Update(const UBasicWidgetInfo *InNewData)
UFUNCTION(BlueprintCallable, Category = "Update")
Definition UIData.h:70
FText Heading
UPROPERTY(EditAnywhere, BlueprintReadWrite)
Definition UIData.h:103
FRotator Rotator
UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (EditCondition = "UseCustomWidgetPosition == true"...
Definition UIData.h:177
FGuid Guid
UPROPERTY()
Definition UIData.h:156
bool bUseTouchToInteractWithWidget
UPROPERTY(EditAnywhere, BlueprintReadWrite)
Definition UIData.h:141
Data asset class representing information for a buttons list widget.
Definition UIData.h:188
virtual void Update(const UBasicWidgetInfo *InNewData) override
UFUNCTION(BlueprintCallable, Category = "Update")
Definition UIData.h:192
UDataTable * DTButtonsList
UPROPERTY(EditAnywhere, BlueprintReadWrite)
Definition UIData.h:210
UObject class representing multiple selection response data.
Definition UIData.h:260
TArray< FString > SelectedButtons
UPROPERTY()
Definition UIData.h:267
UObject class representing single selection response data.
Definition UIData.h:242
FText SelectedButton
UPROPERTY()
Definition UIData.h:249
Struct representing button information.
Definition UIData.h:278
FText ButtonName
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "ButtonSetup")
Definition UIData.h:287
USTRUCT()
Definition BaseEvent.h:13