Touch Interface Designer 2025.2
Create touch interface with a visual editor and manage all mobile inputs like gestures
Loading...
Searching...
No Matches
VirtualShapeEvaluator.h
Go to the documentation of this file.
1// Copyright Lost in Game Studio. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "UObject/Object.h"
7#include "VirtualShape.h"
8#include "VirtualShapeEvaluator.generated.h"
9
10struct FDrawData;
11
12DEFINE_LOG_CATEGORY_STATIC(LogVirtualShapeEvaluator, Log, All)
13
14
17UCLASS(Abstract, Blueprintable, EditInlineNew, CollapseCategories)
18class TOUCHINTERFACE_API UVirtualShapeEvaluator : public UObject
19{
20 GENERATED_BODY()
21
22public:
24
25 UFUNCTION(Category=Settings, BlueprintCallable, BlueprintNativeEvent)
26 int32 Evaluate(const TArray<FDrawData>& DrawData, const UVirtualShape* VirtualShape);
27
28 //TODO: Make this function editor only
29 FName GetEvaluatorName() const { return EvaluatorName; }
30
31protected:
32 virtual int32 Evaluate_Implementation(const TArray<FDrawData>& DrawData, const UVirtualShape* VirtualShape) { return 0; }
33
34 FVector2D GetBoundCenter(const TArray<FDrawData>& DrawData);
35
36 //TODO: Editor Only
39 UPROPERTY(Category="Evaluator", EditAnywhere, BlueprintReadWrite)
41};
42
46class UDotBasedEvaluator : public UVirtualShapeEvaluator
47{
48 GENERATED_BODY()
49
50public:
51 UDotBasedEvaluator();
52
55 //UPROPERTY(Category=Settings, EditInstanceOnly, BlueprintReadWrite)
56 //bool bSameOrder = false;
57
58protected:
59 virtual int32 Evaluate_Implementation(const TArray<FDrawData>& DrawData, const UVirtualShape* VirtualShape) override;
60
61};
62
63// Test the correspondence of the shapes according to the lines (number of lines, direction, etc.)
64UCLASS(NotBlueprintable, MinimalAPI, meta=(DisplayName="Line Based"))
65class ULineBasedEvaluator : public UVirtualShapeEvaluator
66{
67 GENERATED_BODY()
68
69public:
70 ULineBasedEvaluator();
71
74 //UPROPERTY(Category=Settings, EditInstanceOnly, BlueprintReadWrite)
75 //bool bSameOrder = false;
76
79 //UPROPERTY(Category=Settings, EditInstanceOnly, BlueprintReadWrite)
80 //bool bSameDirection = false;
81
84 //UPROPERTY(Category=Settings, EditInstanceOnly, BlueprintReadWrite)
85 //bool bSameLength = false;
86
87protected:
88 virtual int32 Evaluate_Implementation(const TArray<FDrawData>& DrawData, const UVirtualShape* VirtualShape) override;
89};
90
91// Test the correspondence of the shapes according to the angles (number of angles, value of the angles, etc.)
92UCLASS(NotBlueprintable, MinimalAPI, meta=(DisplayName="Angle Based"))
93class UAngleBasedEvaluator : public UVirtualShapeEvaluator
94{
95 GENERATED_BODY()
96
97public:
98 UAngleBasedEvaluator();
99
100protected:
101 virtual int32 Evaluate_Implementation(const TArray<FDrawData>& DrawData, const UVirtualShape* VirtualShape) override;
102};
EditInlineNew
Definition ComponentDecorator_Animation.h:40
Abstract
Definition ComponentDecorator_Animation.h:40
Blueprintable
Definition ComponentDecorator_Animation.h:40
NotBlueprintable
Definition DEPRECATED_LayoutSubsystem.h:23
DisplayName
Definition DecoratorRotationAnim.h:15
meta
Definition GestureRecognizerComp.h:274
MinimalAPI
Definition LCInputModifier.h:45
DEFINE_LOG_CATEGORY_STATIC(LogProgressBarWidget, Log, All)
Definition VirtualShapeEvaluator.h:19
BlueprintNativeEvent int32 Evaluate(const TArray< FDrawData > &DrawData, const UVirtualShape *VirtualShape)
FName GetEvaluatorName() const
Definition VirtualShapeEvaluator.h:29
BlueprintReadWrite FName EvaluatorName
Definition VirtualShapeEvaluator.h:40
virtual int32 Evaluate_Implementation(const TArray< FDrawData > &DrawData, const UVirtualShape *VirtualShape)
Definition VirtualShapeEvaluator.h:32
UVirtualShapeEvaluator()
Definition VirtualShapeEvaluator.cpp:5
EditAnywhere
Definition VirtualShapeEvaluator.h:39
BlueprintCallable
Definition VirtualShapeEvaluator.h:25
Category
Definition VirtualShapeEvaluator.h:25
Definition VirtualShape.h:233
Definition VirtualShape.h:14