81 lines
1.5 KiB
C++
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;
|
|
|
|
}; |