Files
Table-UE/Table/Source/Table/Public/GestureData.h
T
2026-04-28 13:17:01 +02:00

81 lines
1.5 KiB
C++

// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "Engine/DataTable.h"
#include "GestureData.generated.h"
class AHandActor;
class AGestureAction;
class UGestureDefinition;
UENUM(BlueprintType)
enum class EHandedness : uint8
{
Unknown = 0,
Left = 1,
Right = 2
};
UENUM(BlueprintType)
enum class EGesturePhase : uint8
{
None,
Candidate,
Started,
Ongoing,
Ended
};
// Row struct for DT_GestureDefinitions
USTRUCT(BlueprintType)
struct FGestureDefinitionRow : public FTableRowBase
{
GENERATED_BODY()
UPROPERTY(EditAnywhere, BlueprintReadOnly)
TSubclassOf<UGestureDefinition> DefinitionClass;
};
// Row struct for DT_GestureActions
USTRUCT(BlueprintType)
struct FGestureActionRow : public FTableRowBase
{
GENERATED_BODY()
UPROPERTY(EditAnywhere, BlueprintReadOnly)
TSubclassOf<AGestureAction> ActionClass;
};
USTRUCT(BlueprintType)
struct FExtendedGestureBinding
{
GENERATED_BODY()
UPROPERTY(BlueprintReadOnly)
FString GestureName;
UPROPERTY(BlueprintReadOnly)
FString GestureAction;
};
// What gets parsed from the JSON
USTRUCT(BlueprintType)
struct FGestureBinding
{
GENERATED_BODY()
UPROPERTY(BlueprintReadOnly)
FString ActionName;
UPROPERTY(BlueprintReadOnly)
FString LeftGesture;
UPROPERTY(BlueprintReadOnly)
FString RightGesture;
UPROPERTY(BlueprintReadOnly)
TArray<FExtendedGestureBinding> ExentdedGestures;
};