// Copyright Epic Games, Inc. All Rights Reserved.
/*===========================================================================
	Generated code exported from UnrealHeaderTool.
	DO NOT modify this manually! Edit the corresponding .h files instead!
===========================================================================*/

#include "UObject/GeneratedCppIncludes.h"
#include "LovenseIntegration/Public/Components/LovenseToyAnimationControlComponent.h"

PRAGMA_DISABLE_DEPRECATION_WARNINGS

void EmptyLinkFunctionForGeneratedCodeLovenseToyAnimationControlComponent() {}

// ********** Begin Cross Module References ********************************************************
COREUOBJECT_API UScriptStruct* Z_Construct_UScriptStruct_FVector2D();
ENGINE_API UClass* Z_Construct_UClass_UActorComponent();
ENGINE_API UClass* Z_Construct_UClass_UAnimSequence_NoRegister();
ENGINE_API UClass* Z_Construct_UClass_USkeletalMeshComponent_NoRegister();
LOVENSEINTEGRATION_API UClass* Z_Construct_UClass_ULovenseToyAnimationControlComponent();
LOVENSEINTEGRATION_API UClass* Z_Construct_UClass_ULovenseToyAnimationControlComponent_NoRegister();
LOVENSEINTEGRATION_API UFunction* Z_Construct_UDelegateFunction_LovenseIntegration_LovenseGetAnimationData__DelegateSignature();
UPackage* Z_Construct_UPackage__Script_LovenseIntegration();
// ********** End Cross Module References **********************************************************

// ********** Begin Delegate FLovenseGetAnimationData **********************************************
struct Z_Construct_UDelegateFunction_LovenseIntegration_LovenseGetAnimationData__DelegateSignature_Statics
{
	struct _Script_LovenseIntegration_eventLovenseGetAnimationData_Parms
	{
		TArray<UAnimSequence*> outAnimations;
		TArray<float> outTimes;
	};
#if WITH_METADATA
	static constexpr UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[] = {
#if !UE_BUILD_SHIPPING
		{ "Comment", "/**\n * @brief Blueprint exposed event delegate used by ULovenseToyAnimationControlComponent to retrieve animation data from external code that uses this component.\n * \\n Called every 4 seconds when the internal timer loops.\n * @param outAnimations (TArray<UAnimSequence*>&) The animations to be evaluated.\n * \\n Needs one animation for each skeletal mesh component passed to ULovenseToyAnimationControlComponent::Initialize().\n * \\n All animations need to have the same sequence length.\n * @param outTimes (TArray<float>&) Optional custom time values. If empty will use a fixed time step of 0.1 seconds.\n * \\n If filled will iterate over these values and evaluate the animations at these time values. Useful if you need to take e.g. dynamic play rate variations into account.\n * \\n The first time value will be swallowed.\n * \\n Maximum number of time values is 51 (effectively 50, as first value will be swallowed).\n */" },
#endif
		{ "ModuleRelativePath", "Public/Components/LovenseToyAnimationControlComponent.h" },
#if !UE_BUILD_SHIPPING
		{ "ToolTip", "@brief Blueprint exposed event delegate used by ULovenseToyAnimationControlComponent to retrieve animation data from external code that uses this component.\n\\n Called every 4 seconds when the internal timer loops.\n@param outAnimations (TArray<UAnimSequence*>&) The animations to be evaluated.\n\\n Needs one animation for each skeletal mesh component passed to ULovenseToyAnimationControlComponent::Initialize().\n\\n All animations need to have the same sequence length.\n@param outTimes (TArray<float>&) Optional custom time values. If empty will use a fixed time step of 0.1 seconds.\n\\n If filled will iterate over these values and evaluate the animations at these time values. Useful if you need to take e.g. dynamic play rate variations into account.\n\\n The first time value will be swallowed.\n\\n Maximum number of time values is 51 (effectively 50, as first value will be swallowed)." },
#endif
	};
#endif // WITH_METADATA
	static const UECodeGen_Private::FObjectPropertyParams NewProp_outAnimations_Inner;
	static const UECodeGen_Private::FArrayPropertyParams NewProp_outAnimations;
	static const UECodeGen_Private::FFloatPropertyParams NewProp_outTimes_Inner;
	static const UECodeGen_Private::FArrayPropertyParams NewProp_outTimes;
	static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
	static const UECodeGen_Private::FDelegateFunctionParams FuncParams;
};
const UECodeGen_Private::FObjectPropertyParams Z_Construct_UDelegateFunction_LovenseIntegration_LovenseGetAnimationData__DelegateSignature_Statics::NewProp_outAnimations_Inner = { "outAnimations", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 0, Z_Construct_UClass_UAnimSequence_NoRegister, METADATA_PARAMS(0, nullptr) };
const UECodeGen_Private::FArrayPropertyParams Z_Construct_UDelegateFunction_LovenseIntegration_LovenseGetAnimationData__DelegateSignature_Statics::NewProp_outAnimations = { "outAnimations", nullptr, (EPropertyFlags)0x0010000000000180, UECodeGen_Private::EPropertyGenFlags::Array, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(_Script_LovenseIntegration_eventLovenseGetAnimationData_Parms, outAnimations), EArrayPropertyFlags::None, METADATA_PARAMS(0, nullptr) };
const UECodeGen_Private::FFloatPropertyParams Z_Construct_UDelegateFunction_LovenseIntegration_LovenseGetAnimationData__DelegateSignature_Statics::NewProp_outTimes_Inner = { "outTimes", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 0, METADATA_PARAMS(0, nullptr) };
const UECodeGen_Private::FArrayPropertyParams Z_Construct_UDelegateFunction_LovenseIntegration_LovenseGetAnimationData__DelegateSignature_Statics::NewProp_outTimes = { "outTimes", nullptr, (EPropertyFlags)0x0010000000000180, UECodeGen_Private::EPropertyGenFlags::Array, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(_Script_LovenseIntegration_eventLovenseGetAnimationData_Parms, outTimes), EArrayPropertyFlags::None, METADATA_PARAMS(0, nullptr) };
const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UDelegateFunction_LovenseIntegration_LovenseGetAnimationData__DelegateSignature_Statics::PropPointers[] = {
	(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UDelegateFunction_LovenseIntegration_LovenseGetAnimationData__DelegateSignature_Statics::NewProp_outAnimations_Inner,
	(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UDelegateFunction_LovenseIntegration_LovenseGetAnimationData__DelegateSignature_Statics::NewProp_outAnimations,
	(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UDelegateFunction_LovenseIntegration_LovenseGetAnimationData__DelegateSignature_Statics::NewProp_outTimes_Inner,
	(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UDelegateFunction_LovenseIntegration_LovenseGetAnimationData__DelegateSignature_Statics::NewProp_outTimes,
};
static_assert(UE_ARRAY_COUNT(Z_Construct_UDelegateFunction_LovenseIntegration_LovenseGetAnimationData__DelegateSignature_Statics::PropPointers) < 2048);
const UECodeGen_Private::FDelegateFunctionParams Z_Construct_UDelegateFunction_LovenseIntegration_LovenseGetAnimationData__DelegateSignature_Statics::FuncParams = { { (UObject*(*)())Z_Construct_UPackage__Script_LovenseIntegration, nullptr, "LovenseGetAnimationData__DelegateSignature", Z_Construct_UDelegateFunction_LovenseIntegration_LovenseGetAnimationData__DelegateSignature_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UDelegateFunction_LovenseIntegration_LovenseGetAnimationData__DelegateSignature_Statics::PropPointers), sizeof(Z_Construct_UDelegateFunction_LovenseIntegration_LovenseGetAnimationData__DelegateSignature_Statics::_Script_LovenseIntegration_eventLovenseGetAnimationData_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x00520000, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UDelegateFunction_LovenseIntegration_LovenseGetAnimationData__DelegateSignature_Statics::Function_MetaDataParams), Z_Construct_UDelegateFunction_LovenseIntegration_LovenseGetAnimationData__DelegateSignature_Statics::Function_MetaDataParams)},  };
static_assert(sizeof(Z_Construct_UDelegateFunction_LovenseIntegration_LovenseGetAnimationData__DelegateSignature_Statics::_Script_LovenseIntegration_eventLovenseGetAnimationData_Parms) < MAX_uint16);
UFunction* Z_Construct_UDelegateFunction_LovenseIntegration_LovenseGetAnimationData__DelegateSignature()
{
	static UFunction* ReturnFunction = nullptr;
	if (!ReturnFunction)
	{
		UECodeGen_Private::ConstructUDelegateFunction(&ReturnFunction, Z_Construct_UDelegateFunction_LovenseIntegration_LovenseGetAnimationData__DelegateSignature_Statics::FuncParams);
	}
	return ReturnFunction;
}
void FLovenseGetAnimationData_DelegateWrapper(const FScriptDelegate& LovenseGetAnimationData, TArray<UAnimSequence*>& outAnimations, TArray<float>& outTimes)
{
	struct _Script_LovenseIntegration_eventLovenseGetAnimationData_Parms
	{
		TArray<UAnimSequence*> outAnimations;
		TArray<float> outTimes;
	};
	_Script_LovenseIntegration_eventLovenseGetAnimationData_Parms Parms;
	Parms.outAnimations=outAnimations;
	Parms.outTimes=outTimes;
	LovenseGetAnimationData.ProcessDelegate<UObject>(&Parms);
	outAnimations=Parms.outAnimations;
	outTimes=Parms.outTimes;
}
// ********** End Delegate FLovenseGetAnimationData ************************************************

// ********** Begin Class ULovenseToyAnimationControlComponent Function Initialize *****************
struct Z_Construct_UFunction_ULovenseToyAnimationControlComponent_Initialize_Statics
{
	struct LovenseToyAnimationControlComponent_eventInitialize_Parms
	{
		TArray<USkeletalMeshComponent*> inSkeletalMeshComponents;
		TArray<FName> inBoneNames;
		FScriptDelegate inGetAnimationDataDelegate;
	};
#if WITH_METADATA
	static constexpr UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[] = {
		{ "Category", "Lovense" },
#if !UE_BUILD_SHIPPING
		{ "Comment", "/**\n\x09 * @brief Initializes the component with required data. Can be called multiple times.\n\x09 * @note Will also disable the component, so you will need to manually call StartBehaviour() (for first initialization) or SetEnabled(true).\n\x09 * @param inSkeletalMeshComponents The skeletal meshes that will be evaluated. All of these components have to use the same skeleton or have all bones defined in boneNames.\n\x09 * @param inBoneNames The names of the bones of the skeletal meshes that will be evaluated.\n\x09 * \\n This component calculates an average velocity across these bones of all skeletal meshes, which is then converted to a toy command speed.\n\x09 * @param inGetAnimationDataDelegate Event delegate called once every 4 seconds to retrieve animation data. See FLovenseCalculateAnimationTime for more information.\n\x09 */" },
#endif
		{ "ModuleRelativePath", "Public/Components/LovenseToyAnimationControlComponent.h" },
#if !UE_BUILD_SHIPPING
		{ "ToolTip", "@brief Initializes the component with required data. Can be called multiple times.\n@note Will also disable the component, so you will need to manually call StartBehaviour() (for first initialization) or SetEnabled(true).\n@param inSkeletalMeshComponents The skeletal meshes that will be evaluated. All of these components have to use the same skeleton or have all bones defined in boneNames.\n@param inBoneNames The names of the bones of the skeletal meshes that will be evaluated.\n\\n This component calculates an average velocity across these bones of all skeletal meshes, which is then converted to a toy command speed.\n@param inGetAnimationDataDelegate Event delegate called once every 4 seconds to retrieve animation data. See FLovenseCalculateAnimationTime for more information." },
#endif
	};
	static constexpr UECodeGen_Private::FMetaDataPairParam NewProp_inSkeletalMeshComponents_MetaData[] = {
		{ "EditInline", "true" },
		{ "NativeConst", "" },
	};
	static constexpr UECodeGen_Private::FMetaDataPairParam NewProp_inBoneNames_MetaData[] = {
		{ "NativeConst", "" },
	};
	static constexpr UECodeGen_Private::FMetaDataPairParam NewProp_inGetAnimationDataDelegate_MetaData[] = {
		{ "NativeConst", "" },
	};
#endif // WITH_METADATA
	static const UECodeGen_Private::FObjectPropertyParams NewProp_inSkeletalMeshComponents_Inner;
	static const UECodeGen_Private::FArrayPropertyParams NewProp_inSkeletalMeshComponents;
	static const UECodeGen_Private::FNamePropertyParams NewProp_inBoneNames_Inner;
	static const UECodeGen_Private::FArrayPropertyParams NewProp_inBoneNames;
	static const UECodeGen_Private::FDelegatePropertyParams NewProp_inGetAnimationDataDelegate;
	static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
	static const UECodeGen_Private::FFunctionParams FuncParams;
};
const UECodeGen_Private::FObjectPropertyParams Z_Construct_UFunction_ULovenseToyAnimationControlComponent_Initialize_Statics::NewProp_inSkeletalMeshComponents_Inner = { "inSkeletalMeshComponents", nullptr, (EPropertyFlags)0x0000000000080000, UECodeGen_Private::EPropertyGenFlags::Object, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 0, Z_Construct_UClass_USkeletalMeshComponent_NoRegister, METADATA_PARAMS(0, nullptr) };
const UECodeGen_Private::FArrayPropertyParams Z_Construct_UFunction_ULovenseToyAnimationControlComponent_Initialize_Statics::NewProp_inSkeletalMeshComponents = { "inSkeletalMeshComponents", nullptr, (EPropertyFlags)0x0010008008000182, UECodeGen_Private::EPropertyGenFlags::Array, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(LovenseToyAnimationControlComponent_eventInitialize_Parms, inSkeletalMeshComponents), EArrayPropertyFlags::None, METADATA_PARAMS(UE_ARRAY_COUNT(NewProp_inSkeletalMeshComponents_MetaData), NewProp_inSkeletalMeshComponents_MetaData) };
const UECodeGen_Private::FNamePropertyParams Z_Construct_UFunction_ULovenseToyAnimationControlComponent_Initialize_Statics::NewProp_inBoneNames_Inner = { "inBoneNames", nullptr, (EPropertyFlags)0x0000000000000000, UECodeGen_Private::EPropertyGenFlags::Name, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 0, METADATA_PARAMS(0, nullptr) };
const UECodeGen_Private::FArrayPropertyParams Z_Construct_UFunction_ULovenseToyAnimationControlComponent_Initialize_Statics::NewProp_inBoneNames = { "inBoneNames", nullptr, (EPropertyFlags)0x0010000008000182, UECodeGen_Private::EPropertyGenFlags::Array, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(LovenseToyAnimationControlComponent_eventInitialize_Parms, inBoneNames), EArrayPropertyFlags::None, METADATA_PARAMS(UE_ARRAY_COUNT(NewProp_inBoneNames_MetaData), NewProp_inBoneNames_MetaData) };
const UECodeGen_Private::FDelegatePropertyParams Z_Construct_UFunction_ULovenseToyAnimationControlComponent_Initialize_Statics::NewProp_inGetAnimationDataDelegate = { "inGetAnimationDataDelegate", nullptr, (EPropertyFlags)0x0010000008000182, UECodeGen_Private::EPropertyGenFlags::Delegate, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(LovenseToyAnimationControlComponent_eventInitialize_Parms, inGetAnimationDataDelegate), Z_Construct_UDelegateFunction_LovenseIntegration_LovenseGetAnimationData__DelegateSignature, METADATA_PARAMS(UE_ARRAY_COUNT(NewProp_inGetAnimationDataDelegate_MetaData), NewProp_inGetAnimationDataDelegate_MetaData) }; // 419352825
const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_ULovenseToyAnimationControlComponent_Initialize_Statics::PropPointers[] = {
	(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_ULovenseToyAnimationControlComponent_Initialize_Statics::NewProp_inSkeletalMeshComponents_Inner,
	(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_ULovenseToyAnimationControlComponent_Initialize_Statics::NewProp_inSkeletalMeshComponents,
	(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_ULovenseToyAnimationControlComponent_Initialize_Statics::NewProp_inBoneNames_Inner,
	(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_ULovenseToyAnimationControlComponent_Initialize_Statics::NewProp_inBoneNames,
	(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_ULovenseToyAnimationControlComponent_Initialize_Statics::NewProp_inGetAnimationDataDelegate,
};
static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_ULovenseToyAnimationControlComponent_Initialize_Statics::PropPointers) < 2048);
const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_ULovenseToyAnimationControlComponent_Initialize_Statics::FuncParams = { { (UObject*(*)())Z_Construct_UClass_ULovenseToyAnimationControlComponent, nullptr, "Initialize", Z_Construct_UFunction_ULovenseToyAnimationControlComponent_Initialize_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_ULovenseToyAnimationControlComponent_Initialize_Statics::PropPointers), sizeof(Z_Construct_UFunction_ULovenseToyAnimationControlComponent_Initialize_Statics::LovenseToyAnimationControlComponent_eventInitialize_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04420400, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_ULovenseToyAnimationControlComponent_Initialize_Statics::Function_MetaDataParams), Z_Construct_UFunction_ULovenseToyAnimationControlComponent_Initialize_Statics::Function_MetaDataParams)},  };
static_assert(sizeof(Z_Construct_UFunction_ULovenseToyAnimationControlComponent_Initialize_Statics::LovenseToyAnimationControlComponent_eventInitialize_Parms) < MAX_uint16);
UFunction* Z_Construct_UFunction_ULovenseToyAnimationControlComponent_Initialize()
{
	static UFunction* ReturnFunction = nullptr;
	if (!ReturnFunction)
	{
		UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_ULovenseToyAnimationControlComponent_Initialize_Statics::FuncParams);
	}
	return ReturnFunction;
}
DEFINE_FUNCTION(ULovenseToyAnimationControlComponent::execInitialize)
{
	P_GET_TARRAY_REF(USkeletalMeshComponent*,Z_Param_Out_inSkeletalMeshComponents);
	P_GET_TARRAY_REF(FName,Z_Param_Out_inBoneNames);
	P_GET_PROPERTY_REF(FDelegateProperty,Z_Param_Out_inGetAnimationDataDelegate);
	P_FINISH;
	P_NATIVE_BEGIN;
	P_THIS->Initialize(Z_Param_Out_inSkeletalMeshComponents,Z_Param_Out_inBoneNames,FLovenseGetAnimationData(Z_Param_Out_inGetAnimationDataDelegate));
	P_NATIVE_END;
}
// ********** End Class ULovenseToyAnimationControlComponent Function Initialize *******************

// ********** Begin Class ULovenseToyAnimationControlComponent Function IsEnabled ******************
struct Z_Construct_UFunction_ULovenseToyAnimationControlComponent_IsEnabled_Statics
{
	struct LovenseToyAnimationControlComponent_eventIsEnabled_Parms
	{
		bool ReturnValue;
	};
#if WITH_METADATA
	static constexpr UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[] = {
		{ "Category", "Lovense" },
#if !UE_BUILD_SHIPPING
		{ "Comment", "/** @return Whether the component is currently enabled. Component will not run and no commands will be sent while the component is disabled. */" },
#endif
		{ "ModuleRelativePath", "Public/Components/LovenseToyAnimationControlComponent.h" },
#if !UE_BUILD_SHIPPING
		{ "ToolTip", "@return Whether the component is currently enabled. Component will not run and no commands will be sent while the component is disabled." },
#endif
	};
#endif // WITH_METADATA
	static void NewProp_ReturnValue_SetBit(void* Obj);
	static const UECodeGen_Private::FBoolPropertyParams NewProp_ReturnValue;
	static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
	static const UECodeGen_Private::FFunctionParams FuncParams;
};
void Z_Construct_UFunction_ULovenseToyAnimationControlComponent_IsEnabled_Statics::NewProp_ReturnValue_SetBit(void* Obj)
{
	((LovenseToyAnimationControlComponent_eventIsEnabled_Parms*)Obj)->ReturnValue = 1;
}
const UECodeGen_Private::FBoolPropertyParams Z_Construct_UFunction_ULovenseToyAnimationControlComponent_IsEnabled_Statics::NewProp_ReturnValue = { "ReturnValue", nullptr, (EPropertyFlags)0x0010000000000580, UECodeGen_Private::EPropertyGenFlags::Bool | UECodeGen_Private::EPropertyGenFlags::NativeBool, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, sizeof(bool), sizeof(LovenseToyAnimationControlComponent_eventIsEnabled_Parms), &Z_Construct_UFunction_ULovenseToyAnimationControlComponent_IsEnabled_Statics::NewProp_ReturnValue_SetBit, METADATA_PARAMS(0, nullptr) };
const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_ULovenseToyAnimationControlComponent_IsEnabled_Statics::PropPointers[] = {
	(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_ULovenseToyAnimationControlComponent_IsEnabled_Statics::NewProp_ReturnValue,
};
static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_ULovenseToyAnimationControlComponent_IsEnabled_Statics::PropPointers) < 2048);
const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_ULovenseToyAnimationControlComponent_IsEnabled_Statics::FuncParams = { { (UObject*(*)())Z_Construct_UClass_ULovenseToyAnimationControlComponent, nullptr, "IsEnabled", Z_Construct_UFunction_ULovenseToyAnimationControlComponent_IsEnabled_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_ULovenseToyAnimationControlComponent_IsEnabled_Statics::PropPointers), sizeof(Z_Construct_UFunction_ULovenseToyAnimationControlComponent_IsEnabled_Statics::LovenseToyAnimationControlComponent_eventIsEnabled_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x14020401, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_ULovenseToyAnimationControlComponent_IsEnabled_Statics::Function_MetaDataParams), Z_Construct_UFunction_ULovenseToyAnimationControlComponent_IsEnabled_Statics::Function_MetaDataParams)},  };
static_assert(sizeof(Z_Construct_UFunction_ULovenseToyAnimationControlComponent_IsEnabled_Statics::LovenseToyAnimationControlComponent_eventIsEnabled_Parms) < MAX_uint16);
UFunction* Z_Construct_UFunction_ULovenseToyAnimationControlComponent_IsEnabled()
{
	static UFunction* ReturnFunction = nullptr;
	if (!ReturnFunction)
	{
		UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_ULovenseToyAnimationControlComponent_IsEnabled_Statics::FuncParams);
	}
	return ReturnFunction;
}
DEFINE_FUNCTION(ULovenseToyAnimationControlComponent::execIsEnabled)
{
	P_FINISH;
	P_NATIVE_BEGIN;
	*(bool*)Z_Param__Result=P_THIS->IsEnabled();
	P_NATIVE_END;
}
// ********** End Class ULovenseToyAnimationControlComponent Function IsEnabled ********************

// ********** Begin Class ULovenseToyAnimationControlComponent Function OnGamePaused ***************
struct Z_Construct_UFunction_ULovenseToyAnimationControlComponent_OnGamePaused_Statics
{
#if WITH_METADATA
	static constexpr UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[] = {
		{ "Category", "Lovense" },
#if !UE_BUILD_SHIPPING
		{ "Comment", "/**\n\x09 * @brief Disables the component when the game has been paused to stop the toys.\n\x09 * @note You will need to manually call this as there are no global events for that in unreal.\n\x09 */" },
#endif
		{ "ModuleRelativePath", "Public/Components/LovenseToyAnimationControlComponent.h" },
#if !UE_BUILD_SHIPPING
		{ "ToolTip", "@brief Disables the component when the game has been paused to stop the toys.\n@note You will need to manually call this as there are no global events for that in unreal." },
#endif
	};
#endif // WITH_METADATA
	static const UECodeGen_Private::FFunctionParams FuncParams;
};
const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_ULovenseToyAnimationControlComponent_OnGamePaused_Statics::FuncParams = { { (UObject*(*)())Z_Construct_UClass_ULovenseToyAnimationControlComponent, nullptr, "OnGamePaused", nullptr, 0, 0, RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04020400, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_ULovenseToyAnimationControlComponent_OnGamePaused_Statics::Function_MetaDataParams), Z_Construct_UFunction_ULovenseToyAnimationControlComponent_OnGamePaused_Statics::Function_MetaDataParams)},  };
UFunction* Z_Construct_UFunction_ULovenseToyAnimationControlComponent_OnGamePaused()
{
	static UFunction* ReturnFunction = nullptr;
	if (!ReturnFunction)
	{
		UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_ULovenseToyAnimationControlComponent_OnGamePaused_Statics::FuncParams);
	}
	return ReturnFunction;
}
DEFINE_FUNCTION(ULovenseToyAnimationControlComponent::execOnGamePaused)
{
	P_FINISH;
	P_NATIVE_BEGIN;
	P_THIS->OnGamePaused();
	P_NATIVE_END;
}
// ********** End Class ULovenseToyAnimationControlComponent Function OnGamePaused *****************

// ********** Begin Class ULovenseToyAnimationControlComponent Function OnGameUnpaused *************
struct Z_Construct_UFunction_ULovenseToyAnimationControlComponent_OnGameUnpaused_Statics
{
#if WITH_METADATA
	static constexpr UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[] = {
		{ "Category", "Lovense" },
#if !UE_BUILD_SHIPPING
		{ "Comment", "/**\n\x09 * @brief Enables the component when the game has been unpaused.\n\x09 * @note You will need to manually call this as there are no global events for that in unreal.\n\x09 */" },
#endif
		{ "ModuleRelativePath", "Public/Components/LovenseToyAnimationControlComponent.h" },
#if !UE_BUILD_SHIPPING
		{ "ToolTip", "@brief Enables the component when the game has been unpaused.\n@note You will need to manually call this as there are no global events for that in unreal." },
#endif
	};
#endif // WITH_METADATA
	static const UECodeGen_Private::FFunctionParams FuncParams;
};
const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_ULovenseToyAnimationControlComponent_OnGameUnpaused_Statics::FuncParams = { { (UObject*(*)())Z_Construct_UClass_ULovenseToyAnimationControlComponent, nullptr, "OnGameUnpaused", nullptr, 0, 0, RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04020400, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_ULovenseToyAnimationControlComponent_OnGameUnpaused_Statics::Function_MetaDataParams), Z_Construct_UFunction_ULovenseToyAnimationControlComponent_OnGameUnpaused_Statics::Function_MetaDataParams)},  };
UFunction* Z_Construct_UFunction_ULovenseToyAnimationControlComponent_OnGameUnpaused()
{
	static UFunction* ReturnFunction = nullptr;
	if (!ReturnFunction)
	{
		UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_ULovenseToyAnimationControlComponent_OnGameUnpaused_Statics::FuncParams);
	}
	return ReturnFunction;
}
DEFINE_FUNCTION(ULovenseToyAnimationControlComponent::execOnGameUnpaused)
{
	P_FINISH;
	P_NATIVE_BEGIN;
	P_THIS->OnGameUnpaused();
	P_NATIVE_END;
}
// ********** End Class ULovenseToyAnimationControlComponent Function OnGameUnpaused ***************

// ********** Begin Class ULovenseToyAnimationControlComponent Function OnPatternGenerationTimerFinished 
struct Z_Construct_UFunction_ULovenseToyAnimationControlComponent_OnPatternGenerationTimerFinished_Statics
{
#if WITH_METADATA
	static constexpr UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[] = {
#if !UE_BUILD_SHIPPING
		{ "Comment", "/**\n\x09 * @brief Called every 4 seconds when the generate pattern timer loops.\n\x09 * \\n Generates a pattern based on animation data passed in via getAnimationDataDelegate and sends a pattern command with the generated pattern.\n\x09 */" },
#endif
		{ "ModuleRelativePath", "Public/Components/LovenseToyAnimationControlComponent.h" },
#if !UE_BUILD_SHIPPING
		{ "ToolTip", "@brief Called every 4 seconds when the generate pattern timer loops.\n\\n Generates a pattern based on animation data passed in via getAnimationDataDelegate and sends a pattern command with the generated pattern." },
#endif
	};
#endif // WITH_METADATA
	static const UECodeGen_Private::FFunctionParams FuncParams;
};
const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_ULovenseToyAnimationControlComponent_OnPatternGenerationTimerFinished_Statics::FuncParams = { { (UObject*(*)())Z_Construct_UClass_ULovenseToyAnimationControlComponent, nullptr, "OnPatternGenerationTimerFinished", nullptr, 0, 0, RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x00080400, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_ULovenseToyAnimationControlComponent_OnPatternGenerationTimerFinished_Statics::Function_MetaDataParams), Z_Construct_UFunction_ULovenseToyAnimationControlComponent_OnPatternGenerationTimerFinished_Statics::Function_MetaDataParams)},  };
UFunction* Z_Construct_UFunction_ULovenseToyAnimationControlComponent_OnPatternGenerationTimerFinished()
{
	static UFunction* ReturnFunction = nullptr;
	if (!ReturnFunction)
	{
		UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_ULovenseToyAnimationControlComponent_OnPatternGenerationTimerFinished_Statics::FuncParams);
	}
	return ReturnFunction;
}
DEFINE_FUNCTION(ULovenseToyAnimationControlComponent::execOnPatternGenerationTimerFinished)
{
	P_FINISH;
	P_NATIVE_BEGIN;
	P_THIS->OnPatternGenerationTimerFinished();
	P_NATIVE_END;
}
// ********** End Class ULovenseToyAnimationControlComponent Function OnPatternGenerationTimerFinished 

// ********** Begin Class ULovenseToyAnimationControlComponent Function SetEnabled *****************
struct Z_Construct_UFunction_ULovenseToyAnimationControlComponent_SetEnabled_Statics
{
	struct LovenseToyAnimationControlComponent_eventSetEnabled_Parms
	{
		bool value;
	};
#if WITH_METADATA
	static constexpr UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[] = {
		{ "Category", "Lovense" },
#if !UE_BUILD_SHIPPING
		{ "Comment", "/**\n\x09 * @brief Enable/Disable the component. Component will not run and no commands will be sent while the component is disabled.\n\x09 * @param value If false, realtime evaluation will be stopped, pattern generation timer will be stopped and all commands cleared.\n\x09 * \\n If true, realtime evaluation will be (re)started, will immediately generate and send a pattern command and (re)start the generate pattern timer.\n\x09 */" },
#endif
		{ "ModuleRelativePath", "Public/Components/LovenseToyAnimationControlComponent.h" },
#if !UE_BUILD_SHIPPING
		{ "ToolTip", "@brief Enable/Disable the component. Component will not run and no commands will be sent while the component is disabled.\n@param value If false, realtime evaluation will be stopped, pattern generation timer will be stopped and all commands cleared.\n\\n If true, realtime evaluation will be (re)started, will immediately generate and send a pattern command and (re)start the generate pattern timer." },
#endif
	};
#endif // WITH_METADATA
	static void NewProp_value_SetBit(void* Obj);
	static const UECodeGen_Private::FBoolPropertyParams NewProp_value;
	static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
	static const UECodeGen_Private::FFunctionParams FuncParams;
};
void Z_Construct_UFunction_ULovenseToyAnimationControlComponent_SetEnabled_Statics::NewProp_value_SetBit(void* Obj)
{
	((LovenseToyAnimationControlComponent_eventSetEnabled_Parms*)Obj)->value = 1;
}
const UECodeGen_Private::FBoolPropertyParams Z_Construct_UFunction_ULovenseToyAnimationControlComponent_SetEnabled_Statics::NewProp_value = { "value", nullptr, (EPropertyFlags)0x0010000000000080, UECodeGen_Private::EPropertyGenFlags::Bool | UECodeGen_Private::EPropertyGenFlags::NativeBool, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, sizeof(bool), sizeof(LovenseToyAnimationControlComponent_eventSetEnabled_Parms), &Z_Construct_UFunction_ULovenseToyAnimationControlComponent_SetEnabled_Statics::NewProp_value_SetBit, METADATA_PARAMS(0, nullptr) };
const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UFunction_ULovenseToyAnimationControlComponent_SetEnabled_Statics::PropPointers[] = {
	(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UFunction_ULovenseToyAnimationControlComponent_SetEnabled_Statics::NewProp_value,
};
static_assert(UE_ARRAY_COUNT(Z_Construct_UFunction_ULovenseToyAnimationControlComponent_SetEnabled_Statics::PropPointers) < 2048);
const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_ULovenseToyAnimationControlComponent_SetEnabled_Statics::FuncParams = { { (UObject*(*)())Z_Construct_UClass_ULovenseToyAnimationControlComponent, nullptr, "SetEnabled", Z_Construct_UFunction_ULovenseToyAnimationControlComponent_SetEnabled_Statics::PropPointers, UE_ARRAY_COUNT(Z_Construct_UFunction_ULovenseToyAnimationControlComponent_SetEnabled_Statics::PropPointers), sizeof(Z_Construct_UFunction_ULovenseToyAnimationControlComponent_SetEnabled_Statics::LovenseToyAnimationControlComponent_eventSetEnabled_Parms), RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04020400, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_ULovenseToyAnimationControlComponent_SetEnabled_Statics::Function_MetaDataParams), Z_Construct_UFunction_ULovenseToyAnimationControlComponent_SetEnabled_Statics::Function_MetaDataParams)},  };
static_assert(sizeof(Z_Construct_UFunction_ULovenseToyAnimationControlComponent_SetEnabled_Statics::LovenseToyAnimationControlComponent_eventSetEnabled_Parms) < MAX_uint16);
UFunction* Z_Construct_UFunction_ULovenseToyAnimationControlComponent_SetEnabled()
{
	static UFunction* ReturnFunction = nullptr;
	if (!ReturnFunction)
	{
		UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_ULovenseToyAnimationControlComponent_SetEnabled_Statics::FuncParams);
	}
	return ReturnFunction;
}
DEFINE_FUNCTION(ULovenseToyAnimationControlComponent::execSetEnabled)
{
	P_GET_UBOOL(Z_Param_value);
	P_FINISH;
	P_NATIVE_BEGIN;
	P_THIS->SetEnabled(Z_Param_value);
	P_NATIVE_END;
}
// ********** End Class ULovenseToyAnimationControlComponent Function SetEnabled *******************

// ********** Begin Class ULovenseToyAnimationControlComponent Function StartBehaviour *************
struct Z_Construct_UFunction_ULovenseToyAnimationControlComponent_StartBehaviour_Statics
{
#if WITH_METADATA
	static constexpr UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[] = {
		{ "Category", "Lovense" },
#if !UE_BUILD_SHIPPING
		{ "Comment", "/**\n\x09 * @brief Resets running values and calls SetEnabled(true).\n\x09 * \\n Should be called when first enabling this component and after each animation transition (See StartTransition()).\n\x09 */" },
#endif
		{ "ModuleRelativePath", "Public/Components/LovenseToyAnimationControlComponent.h" },
#if !UE_BUILD_SHIPPING
		{ "ToolTip", "@brief Resets running values and calls SetEnabled(true).\n\\n Should be called when first enabling this component and after each animation transition (See StartTransition())." },
#endif
	};
#endif // WITH_METADATA
	static const UECodeGen_Private::FFunctionParams FuncParams;
};
const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_ULovenseToyAnimationControlComponent_StartBehaviour_Statics::FuncParams = { { (UObject*(*)())Z_Construct_UClass_ULovenseToyAnimationControlComponent, nullptr, "StartBehaviour", nullptr, 0, 0, RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04020400, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_ULovenseToyAnimationControlComponent_StartBehaviour_Statics::Function_MetaDataParams), Z_Construct_UFunction_ULovenseToyAnimationControlComponent_StartBehaviour_Statics::Function_MetaDataParams)},  };
UFunction* Z_Construct_UFunction_ULovenseToyAnimationControlComponent_StartBehaviour()
{
	static UFunction* ReturnFunction = nullptr;
	if (!ReturnFunction)
	{
		UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_ULovenseToyAnimationControlComponent_StartBehaviour_Statics::FuncParams);
	}
	return ReturnFunction;
}
DEFINE_FUNCTION(ULovenseToyAnimationControlComponent::execStartBehaviour)
{
	P_FINISH;
	P_NATIVE_BEGIN;
	P_THIS->StartBehaviour();
	P_NATIVE_END;
}
// ********** End Class ULovenseToyAnimationControlComponent Function StartBehaviour ***************

// ********** Begin Class ULovenseToyAnimationControlComponent Function StartTransition ************
struct Z_Construct_UFunction_ULovenseToyAnimationControlComponent_StartTransition_Statics
{
#if WITH_METADATA
	static constexpr UECodeGen_Private::FMetaDataPairParam Function_MetaDataParams[] = {
		{ "Category", "Lovense" },
#if !UE_BUILD_SHIPPING
		{ "Comment", "/**\n\x09 * @brief Sets max toy speed to maxToySpeedTargetDuringTransition and flips rotation direction.\n\x09 * \\n Should be called before blending to a new animation, though it's not necessary.\n\x09 * \\n This will prevent the toy from freaking out due to high bone velocities during an animation blend.\n\x09 * \\n The Rotation direction change only works for Lovense Connect, as rotation direction can't be controlled with Lovense Remote.\n\x09 * \\n Call StartBehaviour() once transition has finished to reset.\n\x09 */" },
#endif
		{ "ModuleRelativePath", "Public/Components/LovenseToyAnimationControlComponent.h" },
#if !UE_BUILD_SHIPPING
		{ "ToolTip", "@brief Sets max toy speed to maxToySpeedTargetDuringTransition and flips rotation direction.\n\\n Should be called before blending to a new animation, though it's not necessary.\n\\n This will prevent the toy from freaking out due to high bone velocities during an animation blend.\n\\n The Rotation direction change only works for Lovense Connect, as rotation direction can't be controlled with Lovense Remote.\n\\n Call StartBehaviour() once transition has finished to reset." },
#endif
	};
#endif // WITH_METADATA
	static const UECodeGen_Private::FFunctionParams FuncParams;
};
const UECodeGen_Private::FFunctionParams Z_Construct_UFunction_ULovenseToyAnimationControlComponent_StartTransition_Statics::FuncParams = { { (UObject*(*)())Z_Construct_UClass_ULovenseToyAnimationControlComponent, nullptr, "StartTransition", nullptr, 0, 0, RF_Public|RF_Transient|RF_MarkAsNative, (EFunctionFlags)0x04020400, 0, 0, METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UFunction_ULovenseToyAnimationControlComponent_StartTransition_Statics::Function_MetaDataParams), Z_Construct_UFunction_ULovenseToyAnimationControlComponent_StartTransition_Statics::Function_MetaDataParams)},  };
UFunction* Z_Construct_UFunction_ULovenseToyAnimationControlComponent_StartTransition()
{
	static UFunction* ReturnFunction = nullptr;
	if (!ReturnFunction)
	{
		UECodeGen_Private::ConstructUFunction(&ReturnFunction, Z_Construct_UFunction_ULovenseToyAnimationControlComponent_StartTransition_Statics::FuncParams);
	}
	return ReturnFunction;
}
DEFINE_FUNCTION(ULovenseToyAnimationControlComponent::execStartTransition)
{
	P_FINISH;
	P_NATIVE_BEGIN;
	P_THIS->StartTransition();
	P_NATIVE_END;
}
// ********** End Class ULovenseToyAnimationControlComponent Function StartTransition **************

// ********** Begin Class ULovenseToyAnimationControlComponent *************************************
void ULovenseToyAnimationControlComponent::StaticRegisterNativesULovenseToyAnimationControlComponent()
{
	UClass* Class = ULovenseToyAnimationControlComponent::StaticClass();
	static const FNameNativePtrPair Funcs[] = {
		{ "Initialize", &ULovenseToyAnimationControlComponent::execInitialize },
		{ "IsEnabled", &ULovenseToyAnimationControlComponent::execIsEnabled },
		{ "OnGamePaused", &ULovenseToyAnimationControlComponent::execOnGamePaused },
		{ "OnGameUnpaused", &ULovenseToyAnimationControlComponent::execOnGameUnpaused },
		{ "OnPatternGenerationTimerFinished", &ULovenseToyAnimationControlComponent::execOnPatternGenerationTimerFinished },
		{ "SetEnabled", &ULovenseToyAnimationControlComponent::execSetEnabled },
		{ "StartBehaviour", &ULovenseToyAnimationControlComponent::execStartBehaviour },
		{ "StartTransition", &ULovenseToyAnimationControlComponent::execStartTransition },
	};
	FNativeFunctionRegistrar::RegisterFunctions(Class, Funcs, UE_ARRAY_COUNT(Funcs));
}
FClassRegistrationInfo Z_Registration_Info_UClass_ULovenseToyAnimationControlComponent;
UClass* ULovenseToyAnimationControlComponent::GetPrivateStaticClass()
{
	using TClass = ULovenseToyAnimationControlComponent;
	if (!Z_Registration_Info_UClass_ULovenseToyAnimationControlComponent.InnerSingleton)
	{
		GetPrivateStaticClassBody(
			StaticPackage(),
			TEXT("LovenseToyAnimationControlComponent"),
			Z_Registration_Info_UClass_ULovenseToyAnimationControlComponent.InnerSingleton,
			StaticRegisterNativesULovenseToyAnimationControlComponent,
			sizeof(TClass),
			alignof(TClass),
			TClass::StaticClassFlags,
			TClass::StaticClassCastFlags(),
			TClass::StaticConfigName(),
			(UClass::ClassConstructorType)InternalConstructor<TClass>,
			(UClass::ClassVTableHelperCtorCallerType)InternalVTableHelperCtorCaller<TClass>,
			UOBJECT_CPPCLASS_STATICFUNCTIONS_FORCLASS(TClass),
			&TClass::Super::StaticClass,
			&TClass::WithinClass::StaticClass
		);
	}
	return Z_Registration_Info_UClass_ULovenseToyAnimationControlComponent.InnerSingleton;
}
UClass* Z_Construct_UClass_ULovenseToyAnimationControlComponent_NoRegister()
{
	return ULovenseToyAnimationControlComponent::GetPrivateStaticClass();
}
struct Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics
{
#if WITH_METADATA
	static constexpr UECodeGen_Private::FMetaDataPairParam Class_MetaDataParams[] = {
		{ "BlueprintSpawnableComponent", "" },
		{ "ClassGroupNames", "Lovense" },
#if !UE_BUILD_SHIPPING
		{ "Comment", "/**\n * @brief This component calculates Lovense command speeds based on the average bone movement of N bones on N skeletal mesh components and broadcasts commands to all connected toys.\n * \\n The commands that are sent are ELovenseCommand::Pattern for Lovense Remote\n * and ELovenseCommand::Vibrate, ELovenseCommand::RotateClockwise, ELovenseCommand::RotateAntiClockwise, ELovenseCommand::AirAuto for Lovense Connect.\n * \\n For ELovenseCommand::Pattern, a pattern will be generated every 4 seconds based on animation data that gets passed in via getAnimationDataDelegate.\n * This mode is called \"Pattern Generation\".\n * \\n For the Lovense Connect commands, we average the physics linear velocities of all bones in real time. This mode is called \"Realtime Evaluation\".\n * @note You will need to manually call OnGamePaused() / OnGameUnpaused() on this component to stop toys during game pause as there are no global events for that in unreal.\n * \\n I recommend creating a child class from this to handle that.\n *\n * ~~~\n * This diagram depicts which methods should be called on the ULovenseToyAnimationControlComponent and when.\n * \n *                 +-----------+                +---------------------------------------+\n *                 | External  |                | ULovenseToyAnimationControlComponent  |\n *                 +-----------+                +---------------------------------------+\n *                       |                                          |\n *                       | Initialize()                             |\n *                       |----------------------------------------->|\n *                       |                                          |\n *                       | StartBehaviour()                         |\n *                       |----------------------------------------->|\n *                       |                                          |\n *                       |                                          |\n *                       |                                          |\n *                       | Animation Loop                           |\n *                       |---------------                           |\n *                       |              |                           |\n *                       |<--------------                           |\n *                       |                                          |\n *                       |                                          |\n *                       |                                          |\n *                       | StartTransition()                        |\n *                       |----------------------------------------->|\n *                       |                                          |\n *                       | Animation Transition                     |\n *                       |---------------------                     |\n *                       |                    |                     |\n *                       |<--------------------                     |\n *                       |                                          |\n *                       | StartBehaviour()                         |\n *                       |----------------------------------------->|\n *                       |                                          |\n *                       |                                          |\n *   ------------------\\ |                                          |\n *   | Game was paused |-|                                          |\n *   |-----------------| | OnGamePaused()                           |\n *                       |----------------------------------------->|\n * --------------------\\ |                                          |\n * | Game was unpaused |-|                                          |\n * |-------------------| | OnGameUnpaused()                         |\n *                       |----------------------------------------->|\n *                       |                                          |\n *                       |                                          |\n *          -----------\\ |                                          |\n *          | Finished |-|                                          |\n *          |----------| | SetEnabled(false)                        |\n *                       |----------------------------------------->|\n *                       |                                          |\n * ~~~\n */" },
#endif
		{ "IncludePath", "Components/LovenseToyAnimationControlComponent.h" },
		{ "ModuleRelativePath", "Public/Components/LovenseToyAnimationControlComponent.h" },
#if !UE_BUILD_SHIPPING
		{ "ToolTip", "@brief This component calculates Lovense command speeds based on the average bone movement of N bones on N skeletal mesh components and broadcasts commands to all connected toys.\n\\n The commands that are sent are ELovenseCommand::Pattern for Lovense Remote\nand ELovenseCommand::Vibrate, ELovenseCommand::RotateClockwise, ELovenseCommand::RotateAntiClockwise, ELovenseCommand::AirAuto for Lovense Connect.\n\\n For ELovenseCommand::Pattern, a pattern will be generated every 4 seconds based on animation data that gets passed in via getAnimationDataDelegate.\nThis mode is called \"Pattern Generation\".\n\\n For the Lovense Connect commands, we average the physics linear velocities of all bones in real time. This mode is called \"Realtime Evaluation\".\n@note You will need to manually call OnGamePaused() / OnGameUnpaused() on this component to stop toys during game pause as there are no global events for that in unreal.\n\\n I recommend creating a child class from this to handle that.\n\n~~~\nThis diagram depicts which methods should be called on the ULovenseToyAnimationControlComponent and when.\n\n                +-----------+                +---------------------------------------+\n                | External  |                | ULovenseToyAnimationControlComponent  |\n                +-----------+                +---------------------------------------+\n                      |                                          |\n                      | Initialize()                             |\n                      |----------------------------------------->|\n                      |                                          |\n                      | StartBehaviour()                         |\n                      |----------------------------------------->|\n                      |                                          |\n                      |                                          |\n                      |                                          |\n                      | Animation Loop                           |\n                      |---------------                           |\n                      |              |                           |\n                      |<--------------                           |\n                      |                                          |\n                      |                                          |\n                      |                                          |\n                      | StartTransition()                        |\n                      |----------------------------------------->|\n                      |                                          |\n                      | Animation Transition                     |\n                      |---------------------                     |\n                      |                    |                     |\n                      |<--------------------                     |\n                      |                                          |\n                      | StartBehaviour()                         |\n                      |----------------------------------------->|\n                      |                                          |\n                      |                                          |\n  ------------------\\ |                                          |\n  | Game was paused |-|                                          |\n  |-----------------| | OnGamePaused()                           |\n                      |----------------------------------------->|\n--------------------\\ |                                          |\n| Game was unpaused |-|                                          |\n|-------------------| | OnGameUnpaused()                         |\n                      |----------------------------------------->|\n                      |                                          |\n                      |                                          |\n         -----------\\ |                                          |\n         | Finished |-|                                          |\n         |----------| | SetEnabled(false)                        |\n                      |----------------------------------------->|\n                      |                                          |\n~~~" },
#endif
	};
	static constexpr UECodeGen_Private::FMetaDataPairParam NewProp_maxAverageVelocity_MetaData[] = {
		{ "Category", "Lovense|Realtime Evaluation" },
#if !UE_BUILD_SHIPPING
		{ "Comment", "/**\n\x09 * @brief Maximum velocity the average velocity of all bones on all skeletal mesh components will be capped to.\n\x09 * \\n Should be as small as possible to prevent situations where it takes a long time for maxRecordedVelocity to decay.\n\x09 * \\n Only relevant for realtime evaluation.\n\x09 */" },
#endif
		{ "ModuleRelativePath", "Public/Components/LovenseToyAnimationControlComponent.h" },
#if !UE_BUILD_SHIPPING
		{ "ToolTip", "@brief Maximum velocity the average velocity of all bones on all skeletal mesh components will be capped to.\n\\n Should be as small as possible to prevent situations where it takes a long time for maxRecordedVelocity to decay.\n\\n Only relevant for realtime evaluation." },
#endif
	};
	static constexpr UECodeGen_Private::FMetaDataPairParam NewProp_maxRecordedVelocityDecaySpeed_MetaData[] = {
		{ "Category", "Lovense|Realtime Evaluation" },
#if !UE_BUILD_SHIPPING
		{ "Comment", "/**\n\x09 * @brief The speed (per second) at which maxRecordedVelocity will decay at.\n\x09 * \\n Only relevant for realtime evaluation.\n\x09 */" },
#endif
		{ "ModuleRelativePath", "Public/Components/LovenseToyAnimationControlComponent.h" },
#if !UE_BUILD_SHIPPING
		{ "ToolTip", "@brief The speed (per second) at which maxRecordedVelocity will decay at.\n\\n Only relevant for realtime evaluation." },
#endif
	};
	static constexpr UECodeGen_Private::FMetaDataPairParam NewProp_maxRecordedVelocityDecayMinimum_MetaData[] = {
		{ "Category", "Lovense|Realtime Evaluation" },
#if !UE_BUILD_SHIPPING
		{ "Comment", "/**\n\x09 * @brief Naming is a bit confusing, this is the minimum value that maxRecordedVelocity can decay to.\n\x09 * \\n Only relevant for realtime evaluation.\n\x09 */" },
#endif
		{ "ModuleRelativePath", "Public/Components/LovenseToyAnimationControlComponent.h" },
#if !UE_BUILD_SHIPPING
		{ "ToolTip", "@brief Naming is a bit confusing, this is the minimum value that maxRecordedVelocity can decay to.\n\\n Only relevant for realtime evaluation." },
#endif
	};
	static constexpr UECodeGen_Private::FMetaDataPairParam NewProp_maxToySpeedInterpolationSpeed_MetaData[] = {
		{ "Category", "Lovense|Realtime Evaluation" },
#if !UE_BUILD_SHIPPING
		{ "Comment", "/**\n\x09 * @brief Interpolation speed at which currentMaxToySpeed will be interpolated towards maxToySpeedTarget.\n\x09 * \\n Only relevant for realtime evaluation.\n\x09 */" },
#endif
		{ "ModuleRelativePath", "Public/Components/LovenseToyAnimationControlComponent.h" },
#if !UE_BUILD_SHIPPING
		{ "ToolTip", "@brief Interpolation speed at which currentMaxToySpeed will be interpolated towards maxToySpeedTarget.\n\\n Only relevant for realtime evaluation." },
#endif
	};
	static constexpr UECodeGen_Private::FMetaDataPairParam NewProp_maxToySpeedTargetDuringTransition_MetaData[] = {
		{ "Category", "Lovense|Realtime Evaluation" },
		{ "ClampMax", "20" },
		{ "ClampMin", "1" },
#if !UE_BUILD_SHIPPING
		{ "Comment", "/**\n\x09 * @brief Maximum toy command speed that maxToySpeedTarget will be set to during transitions (See StartTransition()).\n\x09 * \\n Value should be between 1-20.\n\x09 * \\n Only relevant for realtime evaluation.\n\x09 */" },
#endif
		{ "ModuleRelativePath", "Public/Components/LovenseToyAnimationControlComponent.h" },
#if !UE_BUILD_SHIPPING
		{ "ToolTip", "@brief Maximum toy command speed that maxToySpeedTarget will be set to during transitions (See StartTransition()).\n\\n Value should be between 1-20.\n\\n Only relevant for realtime evaluation." },
#endif
		{ "UIMax", "20" },
		{ "UIMin", "1" },
	};
	static constexpr UECodeGen_Private::FMetaDataPairParam NewProp_patternToySpeedInputRange_MetaData[] = {
		{ "Category", "Lovense|Pattern Generation" },
#if !UE_BUILD_SHIPPING
		{ "Comment", "/**\n\x09 * @brief Input value range for the average velocity to toy command speed conversion.\n\x09 * \\n E.g. if X = 5cm/s and Y = 15cm/s, toy command speed will be 1 if average velocity is <=5cm/s and 20 if average velocity is >= 15cm/s.\n\x09 * \\n Values should be >=0 and X<=Y.\n\x09 * \\n Only relevant for pattern generation.\n\x09 */" },
#endif
		{ "ModuleRelativePath", "Public/Components/LovenseToyAnimationControlComponent.h" },
#if !UE_BUILD_SHIPPING
		{ "ToolTip", "@brief Input value range for the average velocity to toy command speed conversion.\n\\n E.g. if X = 5cm/s and Y = 15cm/s, toy command speed will be 1 if average velocity is <=5cm/s and 20 if average velocity is >= 15cm/s.\n\\n Values should be >=0 and X<=Y.\n\\n Only relevant for pattern generation." },
#endif
	};
	static constexpr UECodeGen_Private::FMetaDataPairParam NewProp_skeletalMeshComponents_MetaData[] = {
		{ "Category", "Lovense" },
#if !UE_BUILD_SHIPPING
		{ "Comment", "/**\n\x09 * @brief The skeletal meshes that will be evaluated. All of these components have to use the same skeleton or have all bones defined in boneNames.\n\x09 * \\n Gets passed in via Initialize().\n\x09 */" },
#endif
		{ "EditInline", "true" },
		{ "ModuleRelativePath", "Public/Components/LovenseToyAnimationControlComponent.h" },
#if !UE_BUILD_SHIPPING
		{ "ToolTip", "@brief The skeletal meshes that will be evaluated. All of these components have to use the same skeleton or have all bones defined in boneNames.\n\\n Gets passed in via Initialize()." },
#endif
	};
	static constexpr UECodeGen_Private::FMetaDataPairParam NewProp_boneNames_MetaData[] = {
		{ "Category", "Lovense" },
#if !UE_BUILD_SHIPPING
		{ "Comment", "/**\n\x09 * @brief The names of the bones of the skeletal meshes that will be evaluated.\n\x09 * \\n This component calculates an average velocity across these bones of all skeletal meshes, which is then converted to a toy command speed.\n\x09 * \\n Gets passed in via Initialize().\n\x09 */" },
#endif
		{ "ModuleRelativePath", "Public/Components/LovenseToyAnimationControlComponent.h" },
#if !UE_BUILD_SHIPPING
		{ "ToolTip", "@brief The names of the bones of the skeletal meshes that will be evaluated.\n\\n This component calculates an average velocity across these bones of all skeletal meshes, which is then converted to a toy command speed.\n\\n Gets passed in via Initialize()." },
#endif
	};
	static constexpr UECodeGen_Private::FMetaDataPairParam NewProp_maxRecordedVelocity_MetaData[] = {
		{ "Category", "Lovense|Realtime Evaluation" },
#if !UE_BUILD_SHIPPING
		{ "Comment", "/**\n\x09 * @brief The current maximum velocity that has been calculated. Used to remap the current velocity to a toy command speed value.\n\x09 * \\n This will slowly decay if the current velocity is smaller. Decay speed is defined by maxRecordedVelocityDecaySpeed.\n\x09 * \\n Only relevant for realtime evaluation.\n\x09 */" },
#endif
		{ "ModuleRelativePath", "Public/Components/LovenseToyAnimationControlComponent.h" },
#if !UE_BUILD_SHIPPING
		{ "ToolTip", "@brief The current maximum velocity that has been calculated. Used to remap the current velocity to a toy command speed value.\n\\n This will slowly decay if the current velocity is smaller. Decay speed is defined by maxRecordedVelocityDecaySpeed.\n\\n Only relevant for realtime evaluation." },
#endif
	};
	static constexpr UECodeGen_Private::FMetaDataPairParam NewProp_currentMaxToySpeed_MetaData[] = {
		{ "Category", "Lovense|Realtime Evaluation" },
#if !UE_BUILD_SHIPPING
		{ "Comment", "/**\n\x09 * @brief The current maximum toy command speed.\n\x09 * \\n Is interpolated towards maxToySpeedTarget with maxToySpeedInterpolationSpeed.\n\x09 * \\n Only relevant for realtime evaluation.\n\x09 */" },
#endif
		{ "ModuleRelativePath", "Public/Components/LovenseToyAnimationControlComponent.h" },
#if !UE_BUILD_SHIPPING
		{ "ToolTip", "@brief The current maximum toy command speed.\n\\n Is interpolated towards maxToySpeedTarget with maxToySpeedInterpolationSpeed.\n\\n Only relevant for realtime evaluation." },
#endif
	};
	static constexpr UECodeGen_Private::FMetaDataPairParam NewProp_maxToySpeedTarget_MetaData[] = {
		{ "Category", "Lovense|Realtime Evaluation" },
#if !UE_BUILD_SHIPPING
		{ "Comment", "/**\n\x09 * @brief The target value that currentMaxToySpeed gets interpolated to.\n\x09 * \\n Is usually 20, but will be dropped to maxToySpeedTargetDuringTransition during transitions (see StartTransition()).\n\x09 * \\n Only relevant for realtime evaluation.\n\x09 */" },
#endif
		{ "ModuleRelativePath", "Public/Components/LovenseToyAnimationControlComponent.h" },
#if !UE_BUILD_SHIPPING
		{ "ToolTip", "@brief The target value that currentMaxToySpeed gets interpolated to.\n\\n Is usually 20, but will be dropped to maxToySpeedTargetDuringTransition during transitions (see StartTransition()).\n\\n Only relevant for realtime evaluation." },
#endif
	};
	static constexpr UECodeGen_Private::FMetaDataPairParam NewProp_bRotateClockwise_MetaData[] = {
		{ "Category", "Lovense|Realtime Evaluation" },
#if !UE_BUILD_SHIPPING
		{ "Comment", "/**\n\x09 * @brief Whether the toys should rotate clockwise or anticlockwise.\n\x09 * \\n Gets toggled in StartTransition().\n\x09 * \\n Only relevant for realtime evaluation.\n\x09 */" },
#endif
		{ "ModuleRelativePath", "Public/Components/LovenseToyAnimationControlComponent.h" },
#if !UE_BUILD_SHIPPING
		{ "ToolTip", "@brief Whether the toys should rotate clockwise or anticlockwise.\n\\n Gets toggled in StartTransition().\n\\n Only relevant for realtime evaluation." },
#endif
	};
#endif // WITH_METADATA
	static const UECodeGen_Private::FDoublePropertyParams NewProp_maxAverageVelocity;
	static const UECodeGen_Private::FFloatPropertyParams NewProp_maxRecordedVelocityDecaySpeed;
	static const UECodeGen_Private::FFloatPropertyParams NewProp_maxRecordedVelocityDecayMinimum;
	static const UECodeGen_Private::FFloatPropertyParams NewProp_maxToySpeedInterpolationSpeed;
	static const UECodeGen_Private::FFloatPropertyParams NewProp_maxToySpeedTargetDuringTransition;
	static const UECodeGen_Private::FStructPropertyParams NewProp_patternToySpeedInputRange;
	static const UECodeGen_Private::FObjectPropertyParams NewProp_skeletalMeshComponents_Inner;
	static const UECodeGen_Private::FArrayPropertyParams NewProp_skeletalMeshComponents;
	static const UECodeGen_Private::FNamePropertyParams NewProp_boneNames_Inner;
	static const UECodeGen_Private::FArrayPropertyParams NewProp_boneNames;
	static const UECodeGen_Private::FDoublePropertyParams NewProp_maxRecordedVelocity;
	static const UECodeGen_Private::FFloatPropertyParams NewProp_currentMaxToySpeed;
	static const UECodeGen_Private::FFloatPropertyParams NewProp_maxToySpeedTarget;
	static void NewProp_bRotateClockwise_SetBit(void* Obj);
	static const UECodeGen_Private::FBoolPropertyParams NewProp_bRotateClockwise;
	static const UECodeGen_Private::FPropertyParamsBase* const PropPointers[];
	static UObject* (*const DependentSingletons[])();
	static constexpr FClassFunctionLinkInfo FuncInfo[] = {
		{ &Z_Construct_UFunction_ULovenseToyAnimationControlComponent_Initialize, "Initialize" }, // 270051211
		{ &Z_Construct_UFunction_ULovenseToyAnimationControlComponent_IsEnabled, "IsEnabled" }, // 3267183156
		{ &Z_Construct_UFunction_ULovenseToyAnimationControlComponent_OnGamePaused, "OnGamePaused" }, // 1774144050
		{ &Z_Construct_UFunction_ULovenseToyAnimationControlComponent_OnGameUnpaused, "OnGameUnpaused" }, // 649010017
		{ &Z_Construct_UFunction_ULovenseToyAnimationControlComponent_OnPatternGenerationTimerFinished, "OnPatternGenerationTimerFinished" }, // 1719201142
		{ &Z_Construct_UFunction_ULovenseToyAnimationControlComponent_SetEnabled, "SetEnabled" }, // 1298009169
		{ &Z_Construct_UFunction_ULovenseToyAnimationControlComponent_StartBehaviour, "StartBehaviour" }, // 211868954
		{ &Z_Construct_UFunction_ULovenseToyAnimationControlComponent_StartTransition, "StartTransition" }, // 1817191762
	};
	static_assert(UE_ARRAY_COUNT(FuncInfo) < 2048);
	static constexpr FCppClassTypeInfoStatic StaticCppClassTypeInfo = {
		TCppClassTypeTraits<ULovenseToyAnimationControlComponent>::IsAbstract,
	};
	static const UECodeGen_Private::FClassParams ClassParams;
};
const UECodeGen_Private::FDoublePropertyParams Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics::NewProp_maxAverageVelocity = { "maxAverageVelocity", nullptr, (EPropertyFlags)0x0020080000000005, UECodeGen_Private::EPropertyGenFlags::Double, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(ULovenseToyAnimationControlComponent, maxAverageVelocity), METADATA_PARAMS(UE_ARRAY_COUNT(NewProp_maxAverageVelocity_MetaData), NewProp_maxAverageVelocity_MetaData) };
const UECodeGen_Private::FFloatPropertyParams Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics::NewProp_maxRecordedVelocityDecaySpeed = { "maxRecordedVelocityDecaySpeed", nullptr, (EPropertyFlags)0x0020080000000005, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(ULovenseToyAnimationControlComponent, maxRecordedVelocityDecaySpeed), METADATA_PARAMS(UE_ARRAY_COUNT(NewProp_maxRecordedVelocityDecaySpeed_MetaData), NewProp_maxRecordedVelocityDecaySpeed_MetaData) };
const UECodeGen_Private::FFloatPropertyParams Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics::NewProp_maxRecordedVelocityDecayMinimum = { "maxRecordedVelocityDecayMinimum", nullptr, (EPropertyFlags)0x0020080000000005, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(ULovenseToyAnimationControlComponent, maxRecordedVelocityDecayMinimum), METADATA_PARAMS(UE_ARRAY_COUNT(NewProp_maxRecordedVelocityDecayMinimum_MetaData), NewProp_maxRecordedVelocityDecayMinimum_MetaData) };
const UECodeGen_Private::FFloatPropertyParams Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics::NewProp_maxToySpeedInterpolationSpeed = { "maxToySpeedInterpolationSpeed", nullptr, (EPropertyFlags)0x0020080000000005, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(ULovenseToyAnimationControlComponent, maxToySpeedInterpolationSpeed), METADATA_PARAMS(UE_ARRAY_COUNT(NewProp_maxToySpeedInterpolationSpeed_MetaData), NewProp_maxToySpeedInterpolationSpeed_MetaData) };
const UECodeGen_Private::FFloatPropertyParams Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics::NewProp_maxToySpeedTargetDuringTransition = { "maxToySpeedTargetDuringTransition", nullptr, (EPropertyFlags)0x0020080000000005, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(ULovenseToyAnimationControlComponent, maxToySpeedTargetDuringTransition), METADATA_PARAMS(UE_ARRAY_COUNT(NewProp_maxToySpeedTargetDuringTransition_MetaData), NewProp_maxToySpeedTargetDuringTransition_MetaData) };
const UECodeGen_Private::FStructPropertyParams Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics::NewProp_patternToySpeedInputRange = { "patternToySpeedInputRange", nullptr, (EPropertyFlags)0x0020080000000005, UECodeGen_Private::EPropertyGenFlags::Struct, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(ULovenseToyAnimationControlComponent, patternToySpeedInputRange), Z_Construct_UScriptStruct_FVector2D, METADATA_PARAMS(UE_ARRAY_COUNT(NewProp_patternToySpeedInputRange_MetaData), NewProp_patternToySpeedInputRange_MetaData) };
const UECodeGen_Private::FObjectPropertyParams Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics::NewProp_skeletalMeshComponents_Inner = { "skeletalMeshComponents", nullptr, (EPropertyFlags)0x01040000000a0008, UECodeGen_Private::EPropertyGenFlags::Object | UECodeGen_Private::EPropertyGenFlags::ObjectPtr, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 0, Z_Construct_UClass_USkeletalMeshComponent_NoRegister, METADATA_PARAMS(0, nullptr) };
const UECodeGen_Private::FArrayPropertyParams Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics::NewProp_skeletalMeshComponents = { "skeletalMeshComponents", nullptr, (EPropertyFlags)0x012408800002201d, UECodeGen_Private::EPropertyGenFlags::Array, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(ULovenseToyAnimationControlComponent, skeletalMeshComponents), EArrayPropertyFlags::None, METADATA_PARAMS(UE_ARRAY_COUNT(NewProp_skeletalMeshComponents_MetaData), NewProp_skeletalMeshComponents_MetaData) };
const UECodeGen_Private::FNamePropertyParams Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics::NewProp_boneNames_Inner = { "boneNames", nullptr, (EPropertyFlags)0x0000000000020000, UECodeGen_Private::EPropertyGenFlags::Name, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, 0, METADATA_PARAMS(0, nullptr) };
const UECodeGen_Private::FArrayPropertyParams Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics::NewProp_boneNames = { "boneNames", nullptr, (EPropertyFlags)0x0020080000022015, UECodeGen_Private::EPropertyGenFlags::Array, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(ULovenseToyAnimationControlComponent, boneNames), EArrayPropertyFlags::None, METADATA_PARAMS(UE_ARRAY_COUNT(NewProp_boneNames_MetaData), NewProp_boneNames_MetaData) };
const UECodeGen_Private::FDoublePropertyParams Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics::NewProp_maxRecordedVelocity = { "maxRecordedVelocity", nullptr, (EPropertyFlags)0x0020080000022015, UECodeGen_Private::EPropertyGenFlags::Double, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(ULovenseToyAnimationControlComponent, maxRecordedVelocity), METADATA_PARAMS(UE_ARRAY_COUNT(NewProp_maxRecordedVelocity_MetaData), NewProp_maxRecordedVelocity_MetaData) };
const UECodeGen_Private::FFloatPropertyParams Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics::NewProp_currentMaxToySpeed = { "currentMaxToySpeed", nullptr, (EPropertyFlags)0x0020080000022015, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(ULovenseToyAnimationControlComponent, currentMaxToySpeed), METADATA_PARAMS(UE_ARRAY_COUNT(NewProp_currentMaxToySpeed_MetaData), NewProp_currentMaxToySpeed_MetaData) };
const UECodeGen_Private::FFloatPropertyParams Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics::NewProp_maxToySpeedTarget = { "maxToySpeedTarget", nullptr, (EPropertyFlags)0x0020080000022015, UECodeGen_Private::EPropertyGenFlags::Float, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, STRUCT_OFFSET(ULovenseToyAnimationControlComponent, maxToySpeedTarget), METADATA_PARAMS(UE_ARRAY_COUNT(NewProp_maxToySpeedTarget_MetaData), NewProp_maxToySpeedTarget_MetaData) };
void Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics::NewProp_bRotateClockwise_SetBit(void* Obj)
{
	((ULovenseToyAnimationControlComponent*)Obj)->bRotateClockwise = 1;
}
const UECodeGen_Private::FBoolPropertyParams Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics::NewProp_bRotateClockwise = { "bRotateClockwise", nullptr, (EPropertyFlags)0x0020080000022015, UECodeGen_Private::EPropertyGenFlags::Bool | UECodeGen_Private::EPropertyGenFlags::NativeBool, RF_Public|RF_Transient|RF_MarkAsNative, nullptr, nullptr, 1, sizeof(bool), sizeof(ULovenseToyAnimationControlComponent), &Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics::NewProp_bRotateClockwise_SetBit, METADATA_PARAMS(UE_ARRAY_COUNT(NewProp_bRotateClockwise_MetaData), NewProp_bRotateClockwise_MetaData) };
const UECodeGen_Private::FPropertyParamsBase* const Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics::PropPointers[] = {
	(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics::NewProp_maxAverageVelocity,
	(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics::NewProp_maxRecordedVelocityDecaySpeed,
	(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics::NewProp_maxRecordedVelocityDecayMinimum,
	(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics::NewProp_maxToySpeedInterpolationSpeed,
	(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics::NewProp_maxToySpeedTargetDuringTransition,
	(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics::NewProp_patternToySpeedInputRange,
	(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics::NewProp_skeletalMeshComponents_Inner,
	(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics::NewProp_skeletalMeshComponents,
	(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics::NewProp_boneNames_Inner,
	(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics::NewProp_boneNames,
	(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics::NewProp_maxRecordedVelocity,
	(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics::NewProp_currentMaxToySpeed,
	(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics::NewProp_maxToySpeedTarget,
	(const UECodeGen_Private::FPropertyParamsBase*)&Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics::NewProp_bRotateClockwise,
};
static_assert(UE_ARRAY_COUNT(Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics::PropPointers) < 2048);
UObject* (*const Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics::DependentSingletons[])() = {
	(UObject* (*)())Z_Construct_UClass_UActorComponent,
	(UObject* (*)())Z_Construct_UPackage__Script_LovenseIntegration,
};
static_assert(UE_ARRAY_COUNT(Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics::DependentSingletons) < 16);
const UECodeGen_Private::FClassParams Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics::ClassParams = {
	&ULovenseToyAnimationControlComponent::StaticClass,
	"Engine",
	&StaticCppClassTypeInfo,
	DependentSingletons,
	FuncInfo,
	Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics::PropPointers,
	nullptr,
	UE_ARRAY_COUNT(DependentSingletons),
	UE_ARRAY_COUNT(FuncInfo),
	UE_ARRAY_COUNT(Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics::PropPointers),
	0,
	0x00B000A4u,
	METADATA_PARAMS(UE_ARRAY_COUNT(Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics::Class_MetaDataParams), Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics::Class_MetaDataParams)
};
UClass* Z_Construct_UClass_ULovenseToyAnimationControlComponent()
{
	if (!Z_Registration_Info_UClass_ULovenseToyAnimationControlComponent.OuterSingleton)
	{
		UECodeGen_Private::ConstructUClass(Z_Registration_Info_UClass_ULovenseToyAnimationControlComponent.OuterSingleton, Z_Construct_UClass_ULovenseToyAnimationControlComponent_Statics::ClassParams);
	}
	return Z_Registration_Info_UClass_ULovenseToyAnimationControlComponent.OuterSingleton;
}
DEFINE_VTABLE_PTR_HELPER_CTOR(ULovenseToyAnimationControlComponent);
ULovenseToyAnimationControlComponent::~ULovenseToyAnimationControlComponent() {}
// ********** End Class ULovenseToyAnimationControlComponent ***************************************

// ********** Begin Registration *******************************************************************
struct Z_CompiledInDeferFile_FID_lovense_ue_UE5_6_lovense_ue_lovense_ue_Lovense_UE_Project_Plugins_LovenseIntegration_Source_LovenseIntegration_Public_Components_LovenseToyAnimationControlComponent_h__Script_LovenseIntegration_Statics
{
	static constexpr FClassRegisterCompiledInInfo ClassInfo[] = {
		{ Z_Construct_UClass_ULovenseToyAnimationControlComponent, ULovenseToyAnimationControlComponent::StaticClass, TEXT("ULovenseToyAnimationControlComponent"), &Z_Registration_Info_UClass_ULovenseToyAnimationControlComponent, CONSTRUCT_RELOAD_VERSION_INFO(FClassReloadVersionInfo, sizeof(ULovenseToyAnimationControlComponent), 3678100911U) },
	};
};
static FRegisterCompiledInInfo Z_CompiledInDeferFile_FID_lovense_ue_UE5_6_lovense_ue_lovense_ue_Lovense_UE_Project_Plugins_LovenseIntegration_Source_LovenseIntegration_Public_Components_LovenseToyAnimationControlComponent_h__Script_LovenseIntegration_3215794926(TEXT("/Script/LovenseIntegration"),
	Z_CompiledInDeferFile_FID_lovense_ue_UE5_6_lovense_ue_lovense_ue_Lovense_UE_Project_Plugins_LovenseIntegration_Source_LovenseIntegration_Public_Components_LovenseToyAnimationControlComponent_h__Script_LovenseIntegration_Statics::ClassInfo, UE_ARRAY_COUNT(Z_CompiledInDeferFile_FID_lovense_ue_UE5_6_lovense_ue_lovense_ue_Lovense_UE_Project_Plugins_LovenseIntegration_Source_LovenseIntegration_Public_Components_LovenseToyAnimationControlComponent_h__Script_LovenseIntegration_Statics::ClassInfo),
	nullptr, 0,
	nullptr, 0);
// ********** End Registration *********************************************************************

PRAGMA_ENABLE_DEPRECATION_WARNINGS
