// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "Input/Reply.h" #include "UI/LyraSimulatedInputWidget.h" #include "UObject/UObjectGlobals.h" #include "LyraTouchRegion.generated.h" class UObject; struct FFrame; struct FGeometry; struct FPointerEvent; /** * A "Touch Region" is used to define an area on the screen that should trigger some * input when the user presses a finger on it */ UCLASS(meta=( DisplayName="Lyra Touch Region" )) class LYRAGAME_API ULyraTouchRegion : public ULyraSimulatedInputWidget { GENERATED_BODY() public: //~ Begin UUserWidget virtual FReply NativeOnTouchStarted(const FGeometry& InGeometry, const FPointerEvent& InGestureEvent) override; virtual FReply NativeOnTouchMoved(const FGeometry& InGeometry, const FPointerEvent& InGestureEvent) override; virtual FReply NativeOnTouchEnded(const FGeometry& InGeometry, const FPointerEvent& InGestureEvent) override; virtual void NativeTick(const FGeometry& MyGeometry, float InDeltaTime) override; //~ End UUserWidget interface UFUNCTION(BlueprintCallable) bool ShouldSimulateInput() const { return bShouldSimulateInput; } protected: /** True while this widget is being touched */ bool bShouldSimulateInput = false; };