Touch Interface Designer 2025.2
Create touch interface with a visual editor and manage all mobile inputs like gestures
Loading...
Searching...
No Matches
VirtualInput.h
Go to the documentation of this file.
1// Copyright 2024 Lost in Game Studio. All Rights Reserved.
2
3#pragma once
4
5//#include "Engine/Blueprint.h"
7#include "UObject/Object.h"
8#include "Styling/SlateBrush.h"
9#include "VirtualInput.generated.h"
10
12class SVirtualInputPreview;
13enum class EHitTestType : uint8;
16class ULogicTrigger;
17class SVirtualControl;
18class UInputAction;
19struct FVisualLayer;
20enum class EControlType : uint8;
21struct FVirtualControl;
22
25class TOUCHINTERFACE_API UVirtualInput : public UObject
26{
27 GENERATED_BODY()
28
29public:
31
32 //TODO: Make blueprint graph editor
33
34 // Touch Event
35
36 // Take SWidget
37 virtual TSharedRef<SVirtualControl> TakeWidget(TSharedPtr<SDeprecatedTouchInterface> TouchInterface);
38
39 //LEGACY
40 virtual void GetVirtualControl(FVirtualControl& VirtualControl);
41
44
46 FName InputName;
47
48
50 UPROPERTY(Category="Virtual Input", EditAnywhere, BlueprintReadOnly, meta=(ClampMin=0.0f, ClampMax=1.0f))
51 float Opacity;
52
54 UPROPERTY(Category="Virtual Input", EditInstanceOnly, BlueprintReadWrite)
55 uint8 bStartHidden:1;
56
60 UPROPERTY(Category="Virtual Input", EditInstanceOnly, BlueprintReadWrite)
62
66 UPROPERTY(Category="Virtual Input", EditInstanceOnly, BlueprintReadWrite)
68
70 UPROPERTY(Category="Virtual Input", EditInstanceOnly, BlueprintReadWrite)
71 FVector2D LandscapeCenter;
72
74 UPROPERTY(Category="Virtual Input", EditInstanceOnly, BlueprintReadWrite)
75 FVector2D PortraitCenter;
76
77 //TODO: Global Rotation, Global Scale?
78
80 UPROPERTY(Category="Virtual Input", EditAnywhere, BlueprintReadOnly)
81 uint8 bIsChild:1;
82
84 UPROPERTY(Category="Virtual Input", EditAnywhere, BlueprintReadOnly)
86
88 UPROPERTY(Category="Virtual Input", EditAnywhere, BlueprintReadOnly)
89 FVector2D ParentOffset;
90
92 UPROPERTY(Category="Virtual Input", EditAnywhere, BlueprintReadOnly)
94
96 UPROPERTY(Category="Virtual Input", EditAnywhere, BlueprintReadOnly)
97 TArray<FName> Children;
98
99
100 UPROPERTY(Category="Virtual Input", EditAnywhere, BlueprintReadOnly)
102
103 UPROPERTY(Category="Virtual Input", EditAnywhere, BlueprintReadOnly, meta=(EditCondition="bEnableBackgroundBlur == true", EditConditionHides))
104 float BlurStrength;
105
106 UPROPERTY(Category="Virtual Input", EditAnywhere, BlueprintReadOnly, meta=(EditCondition="bEnableBackgroundBlur == true", EditConditionHides))
107 FSlateBrush LowQualityFallbackBrush;
108
109 UPROPERTY(Category="Virtual Input", EditAnywhere, BlueprintReadOnly, meta=(EditCondition="bEnableBackgroundBlur == true", EditConditionHides, ClampMin=1))
110 int32 BlurRadius;
111
112 UPROPERTY(Category="Virtual Input", EditAnywhere, BlueprintReadOnly, meta=(EditCondition="bEnableBackgroundBlur == true", EditConditionHides))
113 FVector4 CornerRadius;
114
116 UPROPERTY(Category="Virtual Input", EditAnywhere, BlueprintReadWrite)
118
120 UPROPERTY(Category="Virtual Input", EditAnywhere, BlueprintReadWrite)
121 FVector2D VisualSize;
122
124 UPROPERTY(Category="Virtual Input", EditAnywhere, BlueprintReadWrite)
126
128 UPROPERTY(Category="Virtual Input", EditAnywhere, BlueprintReadWrite, meta=(EditCondition="InteractionShape==EHitTestType::Square", EditConditionHides))
129 FVector2D InteractionSize;
130
132 UPROPERTY(Category="Virtual Input", EditAnywhere, BlueprintReadWrite, meta=(ClampMin=1.0f, EditCondition="InteractionShape==EHitTestType::Circle", EditConditionHides))
133 float InteractionRadiusSize;
134
137 UPROPERTY(Category="Virtual Input", EditAnywhere, BlueprintReadOnly, Instanced)
138 TArray<TObjectPtr<ULCInputModifier>> Modifiers;
139
140 //TODO: Add Logic Event? Allow dev to customize logic of virtual input
141 //TODO: Pre-integrated: Button, Joystick, Zone, Gesture, Virtual Shape
142 //TODO: Logic class integrate triggers, modifiers and virtual input event?
143
144 //Load logic at runtime
145 //FSoftObjectPath LogicClass;
146
149 //UPROPERTY(Category="Virtual Input", EditAnywhere, BlueprintReadOnly, Instanced)
150 //TArray<TObjectPtr<UVirtualInputEvent>> VirtualInputEvent;
151
152 UPROPERTY(Category="Virtual Input", EditAnywhere, BlueprintReadOnly)
154
156 UPROPERTY(Category="Virtual Input", EditAnywhere, BlueprintReadWrite)
157 UInputAction* InputAction;
158
159private:
160 TSharedPtr<SVirtualControl> WidgetRef;
161};
Abstract
Definition ComponentDecorator_Animation.h:40
BlueprintType
Definition ComponentDecorator_Animation.h:40
Blueprintable
Definition ComponentDecorator_Animation.h:40
EControlType
Definition VirtualControlSetup.h:25
EHitTestType
Definition VirtualControlSetup.h:53
Definition SDeprecatedTouchInterface.h:47
Definition SVirtualControl.h:18
Definition TouchInterface.Build.cs:6
Definition LCInputModifier.h:18
Definition VirtualInputEvent.h:21
BlueprintReadWrite FVector2D VisualSize
Definition VirtualInput.h:121
BlueprintReadWrite uint8 bBlockTouchRegion
Definition VirtualInput.h:67
BlueprintReadOnly
Definition VirtualInput.h:50
BlueprintReadWrite
Definition VirtualInput.h:128
meta
Definition VirtualInput.h:50
UVirtualInput()
Definition VirtualInput.cpp:7
BlueprintReadWrite uint8 bStartHidden
Definition VirtualInput.h:55
EditAnywhere
Definition VirtualInput.h:50
BlueprintReadOnly uint8 bMoveWhenParentRecenter
Definition VirtualInput.h:93
EControlType Type
Definition VirtualInput.h:43
BlueprintReadWrite uint8 bRecenterOnTouch
Definition VirtualInput.h:61
EditInstanceOnly
Definition VirtualInput.h:54
BlueprintReadWrite FVector2D PortraitCenter
Definition VirtualInput.h:75
BlueprintReadOnly uint8 bEnableBackgroundBlur
Definition VirtualInput.h:101
BlueprintReadOnly FVector2D ParentOffset
Definition VirtualInput.h:89
BlueprintReadOnly FName ParentName
Definition VirtualInput.h:85
Category
Definition VirtualInput.h:50
BlueprintReadOnly uint8 bIsChild
Definition VirtualInput.h:81
virtual TSharedRef< SVirtualControl > TakeWidget(TSharedPtr< SDeprecatedTouchInterface > TouchInterface)
Definition VirtualInput.cpp:26
BlueprintReadWrite FVector2D LandscapeCenter
Definition VirtualInput.h:71
Instanced TArray< TObjectPtr< ULCInputModifier > > Modifiers
Definition VirtualInput.h:138
FName InputName
Definition VirtualInput.h:46
BlueprintReadOnly TArray< TSubclassOf< UVirtualInputEvent > > VirtualInputEvent
Definition VirtualInput.h:153
BlueprintReadWrite EHitTestType InteractionShape
Definition VirtualInput.h:125
BlueprintReadOnly TArray< FName > Children
Definition VirtualInput.h:97
BlueprintReadWrite TArray< FVisualLayer > VisualLayers
Definition VirtualInput.h:117
virtual void GetVirtualControl(FVirtualControl &VirtualControl)
Definition VirtualInput.cpp:36
BlueprintReadWrite UInputAction * InputAction
Definition VirtualInput.h:157
Definition VirtualControlSetup.h:165
Definition VirtualControlSetup.h:62