5#include "Subsystems/LocalPlayerSubsystem.h"
7#include "Runtime/Launch/Resources/Version.h"
8#include "TouchInterfaceSubsystem.generated.h"
78 virtual void Initialize(FSubsystemCollectionBase& Collection)
override;
91 bool ShouldDisplayTouchInterface();
96 UFUNCTION(
Category=
"Touch Interface",
BlueprintCallable,
meta=(AutoCreateRefTerm =
"State", DeprecatedFunction, DepreciationMessage=
"Use Add Touch Interface instead"))
119 virtual
void RemoveFromPlayerScreen();
135 UFUNCTION(Category=
"Touch Interface", BlueprintCallable)
136 const FGeometry& GetTouchInterfaceGeometry()
const;
141 UFUNCTION(Category=
"Touch Interface|Visibility", BlueprintCallable,
meta=(DeprecatedFunction, DeprecationMessage=
"Use Show Touch Interface instead"))
142 virtual
void ShowWidget(
bool bEnableInput,
bool bEnableGesture);
145 UFUNCTION(Category=
"Touch Interface|Visibility", BlueprintCallable)
146 virtual
void ShowTouchInterface();
150 UFUNCTION(Category=
"Touch Interface|Visibility", BlueprintCallable,
meta=(DeprecatedFunction, DeprecationMessage=
"Use Hide Touch Interface instead"))
151 virtual
void HideWidget(
bool bDisableGesture);
156 UFUNCTION(Category=
"Touch Interface|Visibility", BlueprintCallable)
157 virtual
void HideTouchInterface();
159 UFUNCTION(Category=
"Touch Interface|Visibility", BlueprintCallable)
160 virtual
void ShowVirtualControl(const FName Name,
bool bIncludeChild);
162 UFUNCTION(Category=
"Touch Interface|Visibility", BlueprintCallable)
163 virtual
void HideVirtualControl(const FName Name,
bool bIncludeChild);
166 UFUNCTION(Category=
"Touch Interface|Visibility", BlueprintCallable)
167 virtual
void ShowAllVirtualInput();
170 UFUNCTION(Category=
"Touch Interface|Visibility", BlueprintCallable)
171 virtual
void HideAllVirtualInput();
174 UFUNCTION(Category=
"Touch Interface|Visibility", BlueprintCallable)
175 virtual
void ShowAllExcept(const FName Name);
178 UFUNCTION(Category=
"Touch Interface|Visibility", BlueprintCallable)
179 virtual
void HideAllExcept(const FName Name);
182 UFUNCTION(Category=
"Touch Interface|Visibility", BlueprintCallable)
183 virtual
void ShowAllExceptNamedOnes(const TArray<FName> Names);
186 UFUNCTION(Category=
"Touch Interface|Visibility", BlueprintCallable)
187 virtual
void HideAllExceptNamedOnes(const TArray<FName> Names);
190 UFUNCTION(Category=
"Touch Interface|Visibility", BlueprintCallable)
191 float GetVirtualInputOpacity(const FName InputName);
194 UFUNCTION(Category=
"Touch Interface|Visibility", BlueprintCallable)
195 void SetVirtualInputOpacity(const FName InputName, const
float NewOpacity);
201 UFUNCTION(Category=
"Touch Interface|Drawer", BlueprintCallable)
205 UFUNCTION(Category=
"Touch Interface|Drawer", BlueprintCallable, BlueprintPure)
209 UFUNCTION(Category=
"Touch Interface|Drawer", BlueprintCallable)
210 virtual
void ShowDrawer();
213 UFUNCTION(Category=
"Touch Interface|Drawer", BlueprintCallable)
214 virtual
void HideDrawer();
217 UFUNCTION(Category=
"Touch Interface|Drawer", BlueprintCallable)
218 virtual
void RemoveDrawer();
224 UFUNCTION(Category=
"Touch Interface|Input", BlueprintCallable)
225 virtual
void EnableInput();
228 UFUNCTION(Category=
"Touch Interface|Input", BlueprintCallable)
229 virtual
void DisableInput();
232 UFUNCTION(Category=
"Touch Interface|Input", BlueprintCallable,
meta=(DeprecatedFunction))
233 virtual
void EnableVirtualInput(const FName InputName);
236 UFUNCTION(Category=
"Touch Interface|Input", BlueprintCallable)
237 virtual
void DisableVirtualInput(const FName InputName);
240 UFUNCTION(Category=
"Touch Interface|Input", BlueprintCallable)
241 virtual
void EnableGesture();
244 UFUNCTION(Category=
"Touch Interface|Input", BlueprintCallable)
245 virtual
void DisableGesture();
250 UFUNCTION(Category=
"Touch Interface|Input", BlueprintCallable)
251 virtual
void TryRecognizeShape();
259 UFUNCTION(Category=
"Touch Interface|Input", BlueprintCallable)
260 bool SetInputAction(const FName ControlName, UInputAction* InputAction);
266 UFUNCTION(Category=
"Touch Interface|Data", BlueprintCallable)
267 virtual
bool GetVirtualControlDataByRef(const FName ControlName,
FVirtualControl& Data);
270 UFUNCTION(Category=
"Touch Interface|Data", BlueprintCallable)
271 virtual
FVirtualControl& GetVirtualControlDataRef(const FName ControlName);
274 UFUNCTION(Category=
"Touch Interface|Data", BlueprintCallable)
275 virtual
bool GetVirtualControlData(const FName ControlName,
FVirtualControl& Data);
281 UFUNCTION(Category=
"Touch Interface|Data", BlueprintCallable)
282 virtual
void AddVirtualInput(class
UVirtualInput* VirtualInput, FVector2D LandscapePosition, FVector2D PortraitPosition);
284 UFUNCTION(Category=
"Touch Interface|Data", BlueprintCallable)
285 virtual
void RemoveVirtualInput(class
UVirtualInput* VirtualInput);
287 UFUNCTION(Category=
"Touch Interface|Data", BlueprintCallable)
288 virtual
void ResetToDefault();
294 UFUNCTION(Category =
"Touch Interface|Data", BlueprintCallable,
meta=(DeterminesOutputType =
"Class", DeprecatedFunction))
300 UFUNCTION(Category=
"Touch Interface|Data", BlueprintCallable,
meta=(DeterminesOutputType =
"Class"))
317 UFUNCTION(Category=
"Touch Interface|Visual", BlueprintCallable)
318 virtual
void SetVirtualControlAppearance(const FName ControlName, TArray<
FVisualLayer> Layers);
320 UFUNCTION(Category=
"Touch Interface|Visual", BlueprintCallable, BlueprintPure)
321 virtual
void GetVirtualControlLayer(const FName ControlName, const FName LayerName,
FVisualLayer& OutLayer);
329 UFUNCTION(Category=
"Touch Interface|Visual", BlueprintCallable)
330 virtual
void SetVirtualControlLayer(const FName ControlName, const
FVisualLayer& Layer);
332 UFUNCTION(Category=
"Touch Interface|Visual", BlueprintCallable)
333 virtual FName AddNewLayer(const FName ControlName, const FName LayerName,
FVisualLayer Layer);
335 UFUNCTION(Category=
"Touch Interface|Visual", BlueprintCallable,
meta=(ReturnDisplayName=
"Layer Name"))
336 virtual FName InsertNewLayer(const FName ControlName, const FName LayerName,
FVisualLayer Layer, int32 Index);
338 UFUNCTION(Category=
"Touch Interface|Visual", BlueprintCallable)
339 virtual
void RemoveLayer(const FName ControlName, const FName LayerName);
341 UFUNCTION(Category=
"Touch Interface|Visual", BlueprintCallable)
342 virtual
void RemoveLayerAt(const FName ControlName, const int32 Index);
351 UFUNCTION(Category=
"Touch Interface|Visual", BlueprintCallable)
352 virtual
bool GetDynamicMaterialInstanceFromLayer(const FName ControlName, const FName LayerName, UMaterialInstanceDynamic* &DMI);
376 UFUNCTION(Category=
"Touch Interface|Size and Position", BlueprintCallable)
377 virtual
void ChangeButtonSize(const FName ControlName, const FVector2D NewVisualSize, const FVector2D NewInteractionSize);
383 UFUNCTION(Category=
"Touch Interface|Size and Position", BlueprintCallable)
384 virtual
void ChangeJoystickSize(const FName ControlName, const FVector2D NewVisualSize, const FVector2D NewThumbSize, const FVector2D NewInteractionSize);
389 UFUNCTION(Category=
"Touch Interface|Size and Position", BlueprintCallable)
390 virtual
void ChangeTouchRegionSize(const FName ControlName, const FVector2D NewInteractionSize);
396 UFUNCTION(Category=
"Touch Interface|Size and Position", BlueprintCallable)
397 virtual
bool ChangePosition(const FName ControlName, const FVector2D NewCenter, const
bool LandscapePosition = true);
403 UFUNCTION(Category=
"Touch Interface|Utility", BlueprintCallable)
404 bool TouchInterfaceExist() const;
406 UFUNCTION(Category=
"Touch Interface|Utility", BlueprintCallable)
407 EControlType GetTypeOfVirtualControl(const FName ControlName) const;
409 UFUNCTION(Category=
"Touch Interface|Utility", BlueprintCallable)
410 virtual
bool ContainName(const FName ControlName);
412 UFUNCTION(Category=
"Touch Interface|Utility", BlueprintCallable)
413 virtual
bool GetAllControlsName(TArray<FName>& Names);
415 UFUNCTION(Category=
"Touch Interface|Utility", BlueprintCallable)
416 virtual
bool GetLayerNames(const FName ControlName, TArray<FName>& Names);
419 UFUNCTION(Category=
"Touch Interface|Utility", BlueprintCallable)
420 bool IsInterfaceActive() const;
423 UFUNCTION(Category=
"Touch Interface|Utility", BlueprintCallable)
424 bool IsVisible() const;
426 UFUNCTION(Category=
"Touch Interface|Utility", BlueprintCallable)
427 void SetScaleMultiplier(const
float NewScaleMultiplier);
434 FVector2D LocalToNormalized(const FVector2D LocalPosition) const;
441 FVector2D NormalizedToLocal(const FVector2D NormalizedPosition) const;
448 FVector2D AbsoluteToLocal(const FVector2D AbsolutePosition) const;
455 FVector2D LocalToAbsolute(const FVector2D LocalPosition) const;
556 UPROPERTY(
Category=
"Touch Interface|State", BlueprintAssignable)
562 UPROPERTY(
Category=
"Touch Interface|State", BlueprintAssignable)
566 UPROPERTY(
Category=
"Touch Interface|State", BlueprintAssignable)
570 UPROPERTY(
Category=
"Touch Interface|State", BlueprintAssignable)
574 UPROPERTY(
Category=
"Touch Interface|State", BlueprintAssignable)
578 UPROPERTY(
Category=
"Touch Interface|State", BlueprintAssignable)
583 ULocalPlayer* GetLocalPlayerInstance()
const {
return LocalPlayerInstance; }
585 void HandleOnPreLoadMap(
const FString& MapName);
589 void HandleBeganTouchEvent(
const int32 FingerIndex,
const FVector2D LocalPosition);
590 void HandleMovedTouchEvent(
const int32 FingerIndex,
const FVector2D LocalPosition);
591 void HandleEndedTouchEvent(
const int32 FingerIndex,
const FVector2D LocalPosition);
593 void HandleOnActiveStateChangedEvent(
const bool IsActive);
594 void HandleOnVisibilityStateChangedEvent(
const bool IsVisible);
596 void HandleOnControllerConnexionChange(EInputDeviceConnectionState ConnectionState, FPlatformUserId
UserId, FInputDeviceId DeviceId);
598 void HandleOnAnyKeyPressed(FKey KeyPressed);
599 void HandleOnTouch(ETouchIndex::Type Index, FVector Coordinate);
620 ULocalPlayer* LocalPlayerInstance;
623 uint8 bIsTouchInput:1;
626 TMap<FName, UMaterialInstanceDynamic*> CachedMaterialInstance;
629 UTexture2D* DebugTexture;
631 uint8 bIsInitialized:1;
637 uint8 bHiddenByGamepad:1;
BlueprintType
Definition ComponentDecorator_Animation.h:40
meta
Definition GestureRecognizerComp.h:274
BEGIN_SLATE_FUNCTION_BUILD_OPTIMIZATION FPlatformUserId UserId
Definition SVirtualControl.cpp:18
EFailReason
Definition TouchInterfaceSubsystem.h:60
@ NoFileInDisk
Definition TouchInterfaceSubsystem.h:61
@ LoadError
Definition TouchInterfaceSubsystem.h:62
@ InvalidSnapshot
Definition TouchInterfaceSubsystem.h:63
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnSubsystemNotification)
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnStateChangedSignature, bool, Value)
EControlType
Definition VirtualControlSetup.h:25
Definition SDeprecatedTouchInterface.h:47
Definition STouchInterfaceRuntime.h:30
Definition TouchInterfaceLayout.h:20
Definition TouchInterfaceListener.h:16
BlueprintPure UTouchInterfaceLayout * GetLayoutInstance() const
Definition TouchInterfaceSubsystem.h:133
TSharedPtr< STouchInterfaceRuntime > GetTouchInterfaceWidget()
Definition TouchInterfaceSubsystem.cpp:523
BlueprintCallable void DisableDebug() const
Definition TouchInterfaceSubsystem.cpp:1864
BlueprintAssignable FOnStateChangedSignature OnVisibilityStateChanged
Definition TouchInterfaceSubsystem.h:563
virtual BlueprintCallable bool LoadConfiguration(const int32 UserIndex, const int32 ConfigIndex)
Definition TouchInterfaceSubsystem.cpp:1682
virtual BlueprintPure bool TouchInterfaceConfigurationExist(const int32 ConfigIndex)
Definition TouchInterfaceSubsystem.cpp:1414
virtual bool ShouldCreateSubsystem(UObject *Outer) const override
Definition TouchInterfaceSubsystem.cpp:46
virtual BlueprintCallable bool DeleteTouchInterfaceSaveFile(const int32 UserIndex)
Definition TouchInterfaceSubsystem.cpp:1844
BlueprintAssignable FOnSubsystemNotification OnGamepadDisconnected
Definition TouchInterfaceSubsystem.h:579
meta
Definition TouchInterfaceSubsystem.h:96
virtual BlueprintPure bool GetConfiguration(const int32 UserIndex, const int32 ConfigIndex, FTouchInterfaceConfiguration &Configuration)
Definition TouchInterfaceSubsystem.cpp:1774
BlueprintAssignable FOnSubsystemNotification OnTouchInterfaceRemoved
Definition TouchInterfaceSubsystem.h:571
virtual BlueprintCallable bool DeleteConfiguration(const int32 UserIndex, const int32 ConfigIndex)
Definition TouchInterfaceSubsystem.cpp:1800
virtual BlueprintCallable bool DeleteSnapshot(const int32 SnapshotID)
Definition TouchInterfaceSubsystem.cpp:1822
BlueprintAssignable FOnSubsystemNotification OnTouchInterfaceCreated
Definition TouchInterfaceSubsystem.h:567
BlueprintAssignable FOnStateChangedSignature OnActiveStateChanged
Definition TouchInterfaceSubsystem.h:557
BlueprintCallable bool RegisterTouchListenerComponent(UTouchInterfaceListener *Listener)
Definition TouchInterfaceSubsystem.cpp:95
UTouchInterfaceSubsystem()
Definition TouchInterfaceSubsystem.cpp:31
virtual BlueprintCallable bool Save(const int32 SnapshotID, UTouchInterfaceLayout *LayoutReference)
Definition TouchInterfaceSubsystem.cpp:1606
virtual BlueprintPure bool CanSave(const int32 SnapshotId, EFailReason &FailReason)
Definition TouchInterfaceSubsystem.cpp:1380
virtual BlueprintCallable bool ConvertSaveData(const int32 UserIndex, UVirtualControlSetup *VirtualControlSetup, UTouchInterfaceLayout *TouchInterfaceLayout)
Definition TouchInterfaceSubsystem.cpp:1488
virtual BlueprintCallable bool SaveConfigurationWithSetup(const int32 UserIndex, const int32 ConfigIndex, UVirtualControlSetup *Setup)
Definition TouchInterfaceSubsystem.cpp:1540
virtual BlueprintCallable bool ApplySnapshot(const int32 SnapshotID)
Definition TouchInterfaceSubsystem.cpp:1688
TSharedPtr< SDeprecatedTouchInterface > GetTouchInterfaceInstance()
Definition TouchInterfaceSubsystem.cpp:510
UVirtualInputEvent * CreateAndRegisterVirtualInputEvent(TSubclassOf< UVirtualInputEvent > Class)
Definition TouchInterfaceSubsystem.cpp:170
BlueprintCallable void EnableDebug() const
Definition TouchInterfaceSubsystem.cpp:1856
virtual BlueprintCallable bool SaveConfigurationFromCurrentSetup(const int32 UserIndex, const int32 ConfigIndex)
Definition TouchInterfaceSubsystem.cpp:1534
BlueprintCallable
Definition TouchInterfaceSubsystem.h:96
virtual BlueprintCallable bool ConvertSaveDataByConfigIndex(const int32 UserIndex, const int32 ConfigIndex)
Definition TouchInterfaceSubsystem.cpp:1435
BlueprintAssignable FOnSubsystemNotification OnGamepadConnected
Definition TouchInterfaceSubsystem.h:575
virtual BlueprintPure bool GetSnapshot(const int32 SnapshotID, FLayoutSaveData &Snapshot)
Definition TouchInterfaceSubsystem.cpp:1748
virtual void Deinitialize() override
Definition TouchInterfaceSubsystem.cpp:79
Category
Definition TouchInterfaceSubsystem.h:82
virtual BlueprintCallable UTouchInterfaceLayout * AddTouchInterface(UTouchInterfaceLayout *Layout=nullptr, const bool bLoadSave=false, const int32 SnapshotID=0)
Definition TouchInterfaceSubsystem.cpp:255
virtual BlueprintPure bool TouchInterfaceSaveFileExist()
Definition TouchInterfaceSubsystem.cpp:1406
BlueprintCallable bool UnregisterTouchListenerComponent(UTouchInterfaceListener *Listener)
Definition TouchInterfaceSubsystem.cpp:136
virtual void Initialize(FSubsystemCollectionBase &Collection) override
Definition TouchInterfaceSubsystem.cpp:60
BlueprintPure
Definition TouchInterfaceSubsystem.h:433
virtual BlueprintCallable void RemoveTouchInterface()
Definition TouchInterfaceSubsystem.cpp:484
Definition VirtualControlSetup.h:465
Definition VirtualShapeDrawer.h:22
Definition TouchInterfaceSave.h:102
Definition TouchInterfaceSave.h:14
Definition TouchInterfaceSubsystem.h:25
Category
Definition TouchInterfaceSubsystem.h:28
BlueprintReadWrite int32 UserIndex
Definition TouchInterfaceSubsystem.h:41
FTouchInterfaceInit()
Definition TouchInterfaceSubsystem.h:46
BlueprintReadWrite int32 ConfigIndex
Definition TouchInterfaceSubsystem.h:44
BlueprintReadWrite bool bBlockRecognizers
Definition TouchInterfaceSubsystem.h:35
EditAnywhere
Definition TouchInterfaceSubsystem.h:28
BlueprintReadWrite bool IsVisible
Definition TouchInterfaceSubsystem.h:29
BlueprintReadWrite bool bLoadConfiguration
Definition TouchInterfaceSubsystem.h:38
BlueprintReadWrite bool bBlockInput
Definition TouchInterfaceSubsystem.h:32
Definition VirtualControlSetup.h:165
Definition VirtualControlSetup.h:62