#pragma once

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

// Package: BlendStack

#include "Basic.hpp"

#include "Engine_structs.hpp"
#include "Engine_classes.hpp"


SDK_NAMESPACE_START

// Class BlendStack.BlendStackAnimNodeLibrary
// 0x0000 (0x0028 - 0x0028)
class UBlendStackAnimNodeLibrary final : public UBlueprintFunctionLibrary
{
public:
	static void BlendTo(const struct FAnimUpdateContext& Context, const struct FBlendStackAnimNodeReference& BlendStackNode, class UAnimationAsset* AnimationAsset, float AnimationTime, bool bLoop, bool bMirrored, float BlendTime, const struct FVector& BlendParameters, float WantedPlayRate, float ActivationDelay);
	static void BlendToWithSettings(const struct FAnimUpdateContext& Context, const struct FBlendStackAnimNodeReference& BlendStackNode, class UAnimationAsset* AnimationAsset, float AnimationTime, bool bLoop, bool bMirrored, float BlendTime, class UBlendProfile* BlendProfile, EAlphaBlendOption BlendOption, bool bInertialBlend, const struct FVector& BlendParameters, float WantedPlayRate, float ActivationDelay);
	static struct FBlendStackAnimNodeReference ConvertToBlendStackNode(const struct FAnimNodeReference& Node, EAnimNodeReferenceConversionResult* Result);
	static void ConvertToBlendStackNodePure(const struct FAnimNodeReference& Node, struct FBlendStackAnimNodeReference* BlendStackNode, bool* Result);
	static void ForceBlendNextUpdate(const struct FBlendStackAnimNodeReference& BlendStackNode);
	static class UAnimationAsset* GetCurrentAsset(const struct FBlendStackAnimNodeReference& BlendStackNode);
	static float GetCurrentAssetTime(const struct FBlendStackAnimNodeReference& BlendStackNode);
	static float GetCurrentAssetTimeRemaining(const struct FBlendStackAnimNodeReference& BlendStackNode);
	static class UAnimationAsset* GetCurrentBlendStackAnimAsset(const struct FAnimNodeReference& Node);
	static bool GetCurrentBlendStackAnimAssetMirrored(const struct FAnimNodeReference& Node);
	static class UMirrorDataTable* GetCurrentBlendStackAnimAssetMirrorTable(const struct FAnimNodeReference& Node);
	static float GetCurrentBlendStackAnimAssetTime(const struct FAnimNodeReference& Node);
	static bool GetCurrentBlendStackAnimIsActive(const struct FAnimNodeReference& Node);
	static bool IsCurrentAssetLooping(const struct FBlendStackAnimNodeReference& BlendStackNode);

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

// Class BlendStack.BlendStackInputAnimNodeLibrary
// 0x0000 (0x0028 - 0x0028)
class UBlendStackInputAnimNodeLibrary final : public UBlueprintFunctionLibrary
{
public:
	static struct FBlendStackInputAnimNodeReference ConvertToBlendStackInputNode(const struct FAnimNodeReference& Node, EAnimNodeReferenceConversionResult* Result);
	static void ConvertToBlendStackInputNodePure(const struct FAnimNodeReference& Node, struct FBlendStackInputAnimNodeReference* BlendStackInputNode, bool* Result);
	static void GetProperties(const struct FBlendStackInputAnimNodeReference& BlendStackInputNode, class UAnimationAsset** AnimationAsset, float* AccumulatedTime);

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

SDK_NAMESPACE_END
