Touch Interface Designer 2025.2
Create touch interface with a visual editor and manage all mobile inputs like gestures
Loading...
Searching...
No Matches
ButtonLogic.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 "CoreMinimal.h"
6#include "ComponentLogic.h"
7#include "ButtonLogic.generated.h"
8
12UCLASS()
13class TOUCHINTERFACE_API UButtonLogic : public UComponentLogic
14{
15 GENERATED_BODY()
16
17public:
19
20 //Begin UTouchInputLogic
21 virtual void Initialize_Implementation() override;
22 virtual void OnPress_Implementation(const FGeometry& Geometry, const FPointerEvent& PointerEvent) override;
23 virtual void OnMove_Implementation(const FGeometry& MyGeometry, const FPointerEvent& Event) override;
24 virtual void OnRelease_Implementation(const FGeometry& MyGeometry, const FPointerEvent& Event) override;
25 //Enf UTouchInputLogic
26
27 virtual void SetInputAction_Implementation(UInputAction* NewInputAction) override;
28
29 UPROPERTY(Category="Button|Input", EditAnywhere, BlueprintReadOnly)
31
32 //Base input action used by this logic
33 UPROPERTY(Category="Button|Input", EditAnywhere, BlueprintReadOnly, meta=(EditCondition="bUseLegacyInput==false", EditConditionHides))
34 UInputAction* InputAction;
35
36 UPROPERTY(Category="Button|Input", EditAnywhere, BlueprintReadOnly, meta=(EditCondition="bUseLegacyInput==true", EditConditionHides))
37 FKey InputKey;
38
39 // In Axis1D value type, allow to use Y instead of X for float value
40 UPROPERTY(Category="Button|Input", EditAnywhere, BlueprintReadOnly)
41 uint8 bUseY:1;
42
43 UPROPERTY(Category="Button|Input", EditAnywhere, BlueprintReadOnly)
44 uint8 bFromCenter:1;
45
46 UPROPERTY(Category="Button|Input", EditAnywhere, BlueprintReadOnly)
48
49 UPROPERTY(Category="Button|Input", EditAnywhere, BlueprintReadOnly, meta=(EditCondition="bFromCenter==false", EditConditionHides))
50 EHitLocationSpace InputValueSpace;
51
52
53 UPROPERTY(Category="Button|Sound", EditAnywhere, BlueprintReadOnly)
54 TObjectPtr<USoundBase> ClickSound;
55
56
57 UPROPERTY(Category="Button|Haptic", EditAnywhere, BlueprintReadOnly)
58 uint8 bHaptic:1;
59
60 UPROPERTY(Category="Button|Haptic", EditAnywhere, BlueprintReadOnly)
62
63 UPROPERTY(Category="Button|Haptic", EditAnywhere, BlueprintReadOnly, meta=(EditCondition="bUseHapticAsset==true", EditConditionHides))
64 TObjectPtr<UForceFeedbackEffect> HapticEffect;
65
66 UPROPERTY(Category="Button|Haptic", EditAnywhere, BlueprintReadOnly, meta=(EditCondition="bUseHapticAsset==false", EditConditionHides))
67 float HapticDuration;
68
69 UPROPERTY(Category="Button|Haptic", EditAnywhere, BlueprintReadOnly, meta=(EditCondition="bUseHapticAsset==false", EditConditionHides))
70 float HapticIntensity;
71
72private:
73 FVector2D TouchLocation;
74
76};
EHitLocationSpace
Definition ComponentLogic.h:72
BlueprintReadOnly uint8 bUseHapticAsset
Definition ButtonLogic.h:61
BlueprintReadOnly
Definition ButtonLogic.h:33
BlueprintReadOnly uint8 bFromCenter
Definition ButtonLogic.h:44
virtual void OnMove_Implementation(const FGeometry &MyGeometry, const FPointerEvent &Event) override
Definition ButtonLogic.cpp:88
BlueprintReadOnly uint8 bUseLegacyInput
Definition ButtonLogic.h:30
Category
Definition ButtonLogic.h:29
UButtonLogic()
Definition ButtonLogic.cpp:8
BlueprintReadOnly uint8 bUseY
Definition ButtonLogic.h:41
virtual void Initialize_Implementation() override
Definition ButtonLogic.cpp:24
BlueprintReadOnly uint8 bHaptic
Definition ButtonLogic.h:58
BlueprintReadOnly TObjectPtr< USoundBase > ClickSound
Definition ButtonLogic.h:54
EditAnywhere
Definition ButtonLogic.h:29
friend class FTouchInterfaceDesignerEditorMenuExtender
Definition ButtonLogic.h:75
meta
Definition ButtonLogic.h:33
virtual void SetInputAction_Implementation(UInputAction *NewInputAction) override
Definition ButtonLogic.cpp:124
virtual void OnRelease_Implementation(const FGeometry &MyGeometry, const FPointerEvent &Event) override
Definition ButtonLogic.cpp:115
BlueprintReadOnly uint8 bNormalizedInputValue
Definition ButtonLogic.h:47
virtual void OnPress_Implementation(const FGeometry &Geometry, const FPointerEvent &PointerEvent) override
Definition ButtonLogic.cpp:33