Touch Interface Designer 2025.2
Create touch interface with a visual editor and manage all mobile inputs like gestures
Loading...
Searching...
No Matches
WidgetLayer.h
Go to the documentation of this file.
1// Copyright 2024 Lost in Game Studio. All Rights Reserved.
2
3#pragma once
4
6#include "Blueprint/UserWidget.h"
7#include "WidgetLayer.generated.h"
8
9UCLASS()
10class TOUCHINTERFACE_API UWidgetLayer : public UComponentDecorator
11{
12 GENERATED_BODY()
13
14 //TODO: Use UWidgetTree for creating UserWidget in editor?
15
16public:
18
19 virtual void Initialize(TObjectPtr<ULayoutComponent> Component) override;
20
21 virtual TSharedRef<SWidget> CreateWidgetInstance() override;
22
23 UFUNCTION(Category="Widget Layer", BlueprintCallable, BlueprintPure)
24 UUserWidget* GetUserWidget();
25
28 UFUNCTION(Category="Widget Layer", BlueprintCallable)
29 void SetUserWidget(TSubclassOf<UUserWidget> NewUserWidget);
30
31 virtual void HandleOnPressEvent(const FGeometry& ComponentGeometry, const FGeometry& LayoutGeometry, const FPointerEvent& PointerEvent) override;
32 virtual void HandleOnReleaseEvent(const FGeometry& ComponentGeometry, const FGeometry& LayoutGeometry, const FPointerEvent& PointerEvent) override;
33 virtual void HandleOnMoveEvent(const FGeometry& ComponentGeometry, const FGeometry& LayoutGeometry, const FPointerEvent& PointerEvent);
34 virtual void HandleOnTickEvent(const FGeometry& ComponentGeometry, const double InCurrentTime, const float DeltaTime);
35
36public:
39 UPROPERTY(Category="Widget Layer", EditAnywhere, BlueprintReadOnly, meta=(AllowPrivateAccess="true"))
40 TSubclassOf<UUserWidget> UserWidgetClass;
41
44 //UPROPERTY(Category="Widget Layer", EditAnywhere, BlueprintReadOnly, meta=(AllowPrivateAccess="true"))
45 //uint8 bReceiveInput:1;
46
47 //TODO: Receive input? Use interface (test if widget implement interface)
48
49private:
50 UPROPERTY()
51 TObjectPtr<UUserWidget> UserWidgetInstance;
52
53 TSharedPtr<SWidget> UserWidget;
54};
UComponentDecorator()
Definition ComponentDecorator.cpp:19
virtual TSharedRef< SWidget > CreateWidgetInstance() override
Definition WidgetLayer.cpp:31
BlueprintPure UUserWidget * GetUserWidget()
Definition WidgetLayer.cpp:47
virtual void Initialize(TObjectPtr< ULayoutComponent > Component) override
Definition WidgetLayer.cpp:17
meta
Definition WidgetLayer.h:39
Category
Definition WidgetLayer.h:23
virtual void HandleOnPressEvent(const FGeometry &ComponentGeometry, const FGeometry &LayoutGeometry, const FPointerEvent &PointerEvent) override
Definition WidgetLayer.cpp:65
virtual void HandleOnTickEvent(const FGeometry &ComponentGeometry, const double InCurrentTime, const float DeltaTime)
Definition WidgetLayer.cpp:84
virtual void HandleOnReleaseEvent(const FGeometry &ComponentGeometry, const FGeometry &LayoutGeometry, const FPointerEvent &PointerEvent) override
Definition WidgetLayer.cpp:72
BlueprintCallable void SetUserWidget(TSubclassOf< UUserWidget > NewUserWidget)
Definition WidgetLayer.cpp:57
EditAnywhere
Definition WidgetLayer.h:39
BlueprintReadOnly
Definition WidgetLayer.h:39
BlueprintCallable
Definition WidgetLayer.h:23
UWidgetLayer()
Definition WidgetLayer.cpp:12
virtual void HandleOnMoveEvent(const FGeometry &ComponentGeometry, const FGeometry &LayoutGeometry, const FPointerEvent &PointerEvent)
Definition WidgetLayer.cpp:79