36 UFUNCTION(BlueprintCallable, NetMulticast, Reliable, Category = "PixoVR | Wrist Menu")
37 void ActivateWristMenu(
bool InActivate);
43 UFUNCTION(BlueprintCallable, Category = "PixoVR | Wrist Menu")
50 UFUNCTION(BlueprintCallable, Category = "PixoVR | Wrist Menu")
58 UFUNCTION(BlueprintCallable, NetMulticast, Reliable, Category = "PixoVR | Wrist Menu")
59 void UpdateTrackpadPosition(const FVector2D& position);
66 UFUNCTION(BlueprintCallable, Category = "PixoVR | Wrist Menu")
67 void IncreaseSelectedItem(
int Amount);
73 UFUNCTION(BlueprintCallable, Category = "PixoVR | Wrist Menu")
74 void SetEventHandlers(TArray<
UObject*>& InEventHandleObjects);
80 UFUNCTION(BlueprintCallable, Category = "PixoVR | Wrist Menu")
81 void CalculateRotationByItemIndex(const int32 WristMenuItemIndex);
87 UFUNCTION(BlueprintCallable, Category = "PixoVR | Wrist Menu")
95 UFUNCTION(BlueprintCallable, Category = "PixoVR | Wrist Menu")
96 void RebuildWristMenu(UDataTable* NewWidgetDataTable);
101 UFUNCTION(BlueprintCallable, Category = "PixoVR | Wrist Menu")
102 void ResetToDefaultTable();
105 virtual
void BeginPlay() override;
106 virtual
void Tick(
float DeltaTime) override;
107 void TickWristMenu(
float DeltaTime);
112 void CreateAllWidgets();
116 void ClearAllWidgets();
122 void CalculateRotationFromInput(const FVector2D& Direction);
128 bool ParseWidgetDataTable();
133 bool ParseWidgetDataTableRows();
140 void HandleTimeLineFloat(
float Value);
145 void HandleTimelineFinished();
148 UPROPERTY(VisibleDefaultsOnly, BlueprintReadWrite)
151 UPROPERTY(VisibleDefaultsOnly, BlueprintReadWrite)
152 UStaticMeshComponent* RadialFloatingMesh;
154 UPROPERTY(VisibleDefaultsOnly, BlueprintReadWrite)
155 UStaticMeshComponent* RadialArrowMesh;
157 UPROPERTY(VisibleDefaultsOnly, BlueprintReadWrite)
158 UAudioComponent* AudioComponent;
160 UPROPERTY(VisibleAnywhere, BlueprintReadWrite)
161 UTimelineComponent* TimelineComponent;
163 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PixoVR | Wrist Menu")
166 UPROPERTY(BlueprintReadOnly, Category = "PixoVR | Wrist Menu")
169 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PixoVR | Wrist Menu")
172 UPROPERTY(BlueprintReadOnly, Category = "PixoVR | Wrist Menu")
173 int CurrentNormalAngleIndex;
174 UPROPERTY(BlueprintReadOnly, Category = "PixoVR | Wrist Menu")
175 int CurrentLargeAngleIndex;
177 UPROPERTY(BlueprintReadOnly, Category = "PixoVR | Wrist Menu")
178 int PreviousNormalAngleIndex;
179 UPROPERTY(BlueprintReadOnly, Category = "PixoVR | Wrist Menu")
180 int PreviousLargeAngleIndex;
182 UPROPERTY(BlueprintReadOnly, Category = "PixoVR | Wrist Menu")
183 float AnglePerNormalItem;
184 UPROPERTY(BlueprintReadOnly, Category = "PixoVR | Wrist Menu")
185 float AnglePerLargeItem;
186 UPROPERTY(BlueprintReadOnly, Transient, Category = "PixoVR | Wrist Menu")
189 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PixoVR | Wrist Menu")
190 float IconRadialDistance;
191 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PixoVR | Wrist Menu")
192 FVector IconRelativeScale;
194 FVector2D CurrentPadDirection;
195 FRotator CurrentArrowRotation;
198 UDataTable* WidgetDataTableDefault;
200 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PixoVR | Wrist Menu", meta = (AllowPrivateAccess = "true"))
201 UDataTable* WidgetDataTable;
203 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PixoVR | Wrist Menu", meta = (AllowPrivateAccess = "true"))
204 TSubclassOf<class
UUserWidget> WristMenuWidgetClass;
205 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PixoVR | Wrist Menu", meta = (AllowPrivateAccess = "true"))
206 TSubclassOf<class
UUserWidget> WristMenuTitleWidgetClass;
208 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PixoVR | Wrist Menu")
209 TArray<
UObject*> EventHandleObjects;
211 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PixoVR | Wrist Menu")
212 USoundCue* SelectAudioCue;
213 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PixoVR | Wrist Menu")
214 USoundCue* HoverAudioCue;
216 TArray<UWidgetComponent*> WidgetComponents;
217 TArray<UWidgetComponent*> LargeWidgetComponents;
224 UWidgetComponent* Title;
227 UWidgetComponent* CurrentPointedWidgetComponent;
229 UWidgetComponent* CurrentLargePointedWidgetComponent;
231 FOnTimelineFloat TimelinePostUpdate;
232 FOnTimelineEvent TimelineFinished;
234 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PixoVR | Wrist Menu")
237 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PixoVR | Wrist Menu")
238 bool bAlignToPlayerHead;
241 int MaxNumberOfNormalButtons;
242 int MaxNumberOfLargeButtons;