// © 2024 Long Ly. All rights reserved. Any unauthorized use, reproduction, or distribution of this trademark is strictly prohibited and may result in legal action.

#pragma once

#include "CoreMinimal.h"

const FName TurnYawWeightCurveName = TEXT("TurnYawWeight");
const FName RemainingTurnYawCurveName = TEXT("RemainingTurnYaw");
const FName EnableOrientationWarpingName = TEXT("Enable_OrientationWarping");

const FName SKEL_RootBoneName = TEXT("root");

UENUM(BlueprintType)
enum class EOLSRootYawOffsetMode : uint8
{
	EBlendOut UMETA(DisplayName = "Blend Out"),
	EHold UMETA(DisplayName = "Hold"),
	EAccumulate UMETA(DisplayName = "Accumulate"),
};

UENUM(BlueprintType)
enum class EOLSHipDirection : uint8
{
	EForward UMETA(DisplayName = "Forward"),
	EBackward UMETA(DisplayName = "Backward")
};

UENUM(BlueprintType)
enum class EOLSCardinalDirection : uint8
{
	EForward UMETA(DisplayName = "Forward"),
	EBackward UMETA(DisplayName = "Backward"),
	ELeft UMETA(DisplayName = "Left"),
	ERight UMETA(DisplayName = "Right")
};

UENUM(BlueprintType)
enum class EOLSLocomotionStatePlayRate : uint8
{
	EStart UMETA(DisplayName = "Start State"),
	ECycle UMETA(DisplayName = "Cycle State"),
	EPivot UMETA(DisplayName = "Pivot State"),
};
