A Demo Project for the UnrealEngineSDK
Loading...
Searching...
No Matches
BasicWidget.cpp
Go to the documentation of this file.
1// Copyright(c) Pixo Group. All Rights Reserved.
2
3#include "UI/BasicWidget.h"
4
5#include "Blueprint/WidgetTree.h"
6#include "UI/ButtonWidget.h"
7
8PRAGMA_DISABLE_OPTIMIZATION
9
10
12{
13 Super::NativeOnInitialized();
14}
15
17{
18 if (WidgetInfo)
19 {
20 this->Heading = WidgetInfo->Heading;
21
22 WidgetInfoName = WidgetInfo->GetName();
23
26 }
27}
28
29void UBasicWidget::ProcessSquaredDistanceToPlayer(const float SquaredDistanceToPlayerCm, const float DeltaSec)
30{
32 {
33 const bool IsAvailableByTime = DistanceCalculationDelay >= MaxDistanceCalculationDelaySec;
34 const bool IsAvailableByDistance = SquaredDistanceToPlayerCm > MaxSquaredClosingDistance;
35 if (IsAvailableByTime && IsAvailableByDistance)
36 {
37 PlayerWentAwayHandler(SquaredDistanceToPlayerCm);
38 }
39 else
40 {
41 DistanceCalculationDelay += DeltaSec;
42 }
43 }
44}
45
46void UBasicWidget::PlayerWentAway_Implementation()
47{
48 OnPlayerWentAway.ExecuteIfBound();
49}
50
52{
53 OnExitMenuEventDelegate.ExecuteIfBound(nullptr);
54}
55PRAGMA_ENABLE_OPTIMIZATION
virtual void NativeOnInitialized() override
bool bIsClosingByDistance
Flag indicating if the widget should be closed by distance.
FExitMenuEventDelegate OnExitMenuEventDelegate
Event delegate for the "ExitMenu" event.
Definition BasicWidget.h:86
float MaxDistanceCalculationDelaySec
UPROPERTY(BlueprintReadWrite)
Definition BasicWidget.h:99
FText Heading
UPROPERTY(BlueprintReadWrite)
Definition BasicWidget.h:94
void ProcessSquaredDistanceToPlayer(const float SquaredDistanceToPlayerCm, const float DeltaSec)
Processes the squared distance to the player.
virtual void PlayerWentAwayHandler(const float SquaredDistanceToPlayerCm)
Handler for when the player goes away.
Definition BasicWidget.h:68
virtual void OnClickExitMenuEvent(FText ButtonName)
Event handler for the "ExitMenu" button click event.
int32 MaxSquaredClosingDistance
FString WidgetInfoName
Name of widget info used for creating this widget.
virtual void Init(UBasicWidgetInfo *WidgetInfo)
Initializes the widget with the provided widget information.
float DistanceCalculationDelay
FOnPlayerWentAway OnPlayerWentAway
Event for when the player goes away.
Definition BasicWidget.h:87
UDataAsset class representing basic widget information.
Definition UIData.h:56
FText Heading
UPROPERTY(EditAnywhere, BlueprintReadWrite)
Definition UIData.h:103
int32 ClosingDistanceCm
UPROPERTY(EditAnywhere, BlueprintReadWrite)
Definition UIData.h:163