#pragma once

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

// Package: BP_LinkBranchData

#include "Basic.hpp"

#include "BP_LinkBranchData_classes.hpp"
#include "BP_LinkBranchData_parameters.hpp"


SDK_NAMESPACE_START

// Function BP_LinkBranchData.BP_LinkBranchData_C.AddPrimitive
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// TArray<class UPrimitiveComponent*>&     Primitives                                             (BlueprintVisible, BlueprintReadOnly, Parm, OutParm, ReferenceParm, ContainsInstancedReference)

void ABP_LinkBranchData_C::AddPrimitive(TArray<class UPrimitiveComponent*>& Primitives)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_LinkBranchData_C", "AddPrimitive");

	Params::BP_LinkBranchData_C_AddPrimitive Parms{};

	Parms.Primitives = std::move(Primitives);

	UObject::ProcessEvent(Func, &Parms);

	Primitives = std::move(Parms.Primitives);
}


// Function BP_LinkBranchData.BP_LinkBranchData_C.ExecuteUbergraph_BP_LinkBranchData
// (Final, UbergraphFunction)
// Parameters:
// int32                                   EntryPoint                                             (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void ABP_LinkBranchData_C::ExecuteUbergraph_BP_LinkBranchData(int32 EntryPoint)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_LinkBranchData_C", "ExecuteUbergraph_BP_LinkBranchData");

	Params::BP_LinkBranchData_C_ExecuteUbergraph_BP_LinkBranchData Parms{};

	Parms.EntryPoint = EntryPoint;

	UObject::ProcessEvent(Func, &Parms);
}


// Function BP_LinkBranchData.BP_LinkBranchData_C.GetSidePrimitive
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// int32                                   CenterIndex                                            (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// int32                                   Distance                                               (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// class UPrimitiveComponent**             MinSide                                                (Parm, OutParm, ZeroConstructor, InstancedReference, NoDestructor, HasGetValueTypeHash)
// class UPrimitiveComponent**             MaxSide                                                (Parm, OutParm, ZeroConstructor, InstancedReference, NoDestructor, HasGetValueTypeHash)

void ABP_LinkBranchData_C::GetSidePrimitive(int32 CenterIndex, int32 Distance, class UPrimitiveComponent** MinSide, class UPrimitiveComponent** MaxSide)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_LinkBranchData_C", "GetSidePrimitive");

	Params::BP_LinkBranchData_C_GetSidePrimitive Parms{};

	Parms.CenterIndex = CenterIndex;
	Parms.Distance = Distance;

	UObject::ProcessEvent(Func, &Parms);

	if (MinSide != nullptr)
		*MinSide = Parms.MinSide;

	if (MaxSide != nullptr)
		*MaxSide = Parms.MaxSide;
}


// Function BP_LinkBranchData.BP_LinkBranchData_C.GetSortedPrimitive
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// int32                                   Index_0                                                (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// class UPrimitiveComponent**             Primitive                                              (Parm, OutParm, ZeroConstructor, InstancedReference, NoDestructor, HasGetValueTypeHash)

void ABP_LinkBranchData_C::GetSortedPrimitive(int32 Index_0, class UPrimitiveComponent** Primitive)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_LinkBranchData_C", "GetSortedPrimitive");

	Params::BP_LinkBranchData_C_GetSortedPrimitive Parms{};

	Parms.Index_0 = Index_0;

	UObject::ProcessEvent(Func, &Parms);

	if (Primitive != nullptr)
		*Primitive = Parms.Primitive;
}


// Function BP_LinkBranchData.BP_LinkBranchData_C.ReceiveBeginPlay
// (Event, Protected, BlueprintEvent)

void ABP_LinkBranchData_C::ReceiveBeginPlay()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_LinkBranchData_C", "ReceiveBeginPlay");

	UObject::ProcessEvent(Func, nullptr);
}


SDK_NAMESPACE_END
