#pragma once

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

// Package: LiveLinkAnimationCore

#include "Basic.hpp"

#include "Engine_classes.hpp"
#include "CoreUObject_classes.hpp"


SDK_NAMESPACE_START

// Class LiveLinkAnimationCore.LiveLinkInstance
// 0x0000 (0x03E0 - 0x03E0)
class ULiveLinkInstance final : public UAnimInstance
{
public:
	class ULiveLinkRetargetAsset*                 CurrentRetargetAsset;                              // 0x03D8(0x0008)(ZeroConstructor, Transient, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected, TObjectPtr)

public:
	void EnableLiveLinkEvaluation(bool bDoEnable);
	void SetRetargetAsset(TSubclassOf<class ULiveLinkRetargetAsset> RetargetAsset);
	void SetSubject(const struct FLiveLinkSubjectName& SubjectName);

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("LiveLinkInstance")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"LiveLinkInstance")
	}
	static class ULiveLinkInstance* GetDefaultObj()
	{
		return GetDefaultObjImpl<ULiveLinkInstance>();
	}
};
DUMPER7_ASSERTS_ULiveLinkInstance;

// Class LiveLinkAnimationCore.LiveLinkRetargetAsset
// 0x0000 (0x0028 - 0x0028)
class ULiveLinkRetargetAsset : public UObject
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("LiveLinkRetargetAsset")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"LiveLinkRetargetAsset")
	}
	static class ULiveLinkRetargetAsset* GetDefaultObj()
	{
		return GetDefaultObjImpl<ULiveLinkRetargetAsset>();
	}
};
DUMPER7_ASSERTS_ULiveLinkRetargetAsset;

// Class LiveLinkAnimationCore.LiveLinkRemapAsset
// 0x00A0 (0x00C8 - 0x0028)
class ULiveLinkRemapAsset : public ULiveLinkRetargetAsset
{
public:
	uint8                                         Pad_28[0xA0];                                      // 0x0028(0x00A0)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	class FName GetRemappedBoneName(class FName BoneName) const;
	class FName GetRemappedCurveName(class FName CurveName) const;
	void RemapCurveElements(TMap<class FName, float>& CurveItems) const;

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("LiveLinkRemapAsset")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"LiveLinkRemapAsset")
	}
	static class ULiveLinkRemapAsset* GetDefaultObj()
	{
		return GetDefaultObjImpl<ULiveLinkRemapAsset>();
	}
};
DUMPER7_ASSERTS_ULiveLinkRemapAsset;

SDK_NAMESPACE_END
