#pragma once

/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/

// Package: InterchangeCommonParser

#include "Basic.hpp"


SDK_NAMESPACE_START

// Enum InterchangeCommonParser.EInterchangeCurveInterpMode
// NumValues: 0x0005
enum class EInterchangeCurveInterpMode : uint8
{
	Linear                                   = 0,
	Constant                                 = 1,
	Cubic                                    = 2,
	None                                     = 3,
	EInterchangeCurveInterpMode_MAX          = 4,
};

// Enum InterchangeCommonParser.EInterchangeCurveTangentMode
// NumValues: 0x0005
enum class EInterchangeCurveTangentMode : uint8
{
	Auto                                     = 0,
	User                                     = 1,
	Break                                    = 2,
	None                                     = 3,
	EInterchangeCurveTangentMode_MAX         = 4,
};

// Enum InterchangeCommonParser.EInterchangeCurveTangentWeightMode
// NumValues: 0x0005
enum class EInterchangeCurveTangentWeightMode : uint8
{
	WeightedNone                             = 0,
	WeightedArrive                           = 1,
	WeightedLeave                            = 2,
	WeightedBoth                             = 3,
	EInterchangeCurveTangentWeightMode_MAX   = 4,
};

// ScriptStruct InterchangeCommonParser.InterchangeCurveKey
// 0x001C (0x001C - 0x0000)
struct FInterchangeCurveKey final
{
public:
	EInterchangeCurveInterpMode                   InterpMode;                                        // 0x0000(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EInterchangeCurveTangentMode                  TangentMode;                                       // 0x0001(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EInterchangeCurveTangentWeightMode            TangentWeightMode;                                 // 0x0002(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_3[0x1];                                        // 0x0003(0x0001)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         Time;                                              // 0x0004(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         Value;                                             // 0x0008(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         ArriveTangent;                                     // 0x000C(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         ArriveTangentWeight;                               // 0x0010(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         LeaveTangent;                                      // 0x0014(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         LeaveTangentWeight;                                // 0x0018(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FInterchangeCurveKey;

// ScriptStruct InterchangeCommonParser.InterchangeCurve
// 0x0010 (0x0010 - 0x0000)
struct FInterchangeCurve final
{
public:
	TArray<struct FInterchangeCurveKey>           Keys;                                              // 0x0000(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FInterchangeCurve;

// ScriptStruct InterchangeCommonParser.InterchangeStepCurve
// 0x0060 (0x0060 - 0x0000)
struct FInterchangeStepCurve final
{
public:
	TArray<float>                                 KeyTimes;                                          // 0x0000(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
	uint8                                         Pad_10[0x50];                                      // 0x0010(0x0050)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FInterchangeStepCurve;

SDK_NAMESPACE_END
