#pragma once

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

// Package: BP_CopyActorBase

#include "Basic.hpp"

#include "BP_CopyActorBase_classes.hpp"
#include "BP_CopyActorBase_parameters.hpp"


SDK_NAMESPACE_START

// Function BP_CopyActorBase.BP_CopyActorBase_C.DestroyVAT
// (BlueprintCallable, BlueprintEvent)

void ABP_CopyActorBase_C::DestroyVAT()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_CopyActorBase_C", "DestroyVAT");

	UObject::ProcessEvent(Func, nullptr);
}


// Function BP_CopyActorBase.BP_CopyActorBase_C.ReceiveBeginPlay
// (Event, Protected, BlueprintEvent)

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

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

	UObject::ProcessEvent(Func, nullptr);
}


// Function BP_CopyActorBase.BP_CopyActorBase_C.GetParryState
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// bool*                                   State                                                  (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void ABP_CopyActorBase_C::GetParryState(bool* State)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_CopyActorBase_C", "GetParryState");

	Params::BP_CopyActorBase_C_GetParryState Parms{};

	UObject::ProcessEvent(Func, &Parms);

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


// Function BP_CopyActorBase.BP_CopyActorBase_C.Damage
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// double                                  DamageValue                                            (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// int32                                   TeamIndex                                              (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// EN_DamageType                           DamageType                                             (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// const struct FTransform&                SourceAgentPoint                                       (BlueprintVisible, BlueprintReadOnly, Parm, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// bool                                    UnAvoidable                                            (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// class FName                             DamageName                                             (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// class AActor*                           SourceActor                                            (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, NoDestructor, HasGetValueTypeHash)
// struct FFinishFilter*                   Finish                                                 (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void ABP_CopyActorBase_C::Damage(double DamageValue, int32 TeamIndex, EN_DamageType DamageType, const struct FTransform& SourceAgentPoint, bool UnAvoidable, class FName DamageName, class AActor* SourceActor, struct FFinishFilter* Finish)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_CopyActorBase_C", "Damage");

	Params::BP_CopyActorBase_C_Damage Parms{};

	Parms.DamageValue = DamageValue;
	Parms.TeamIndex = TeamIndex;
	Parms.DamageType = DamageType;
	Parms.SourceAgentPoint = std::move(SourceAgentPoint);
	Parms.UnAvoidable = UnAvoidable;
	Parms.DamageName = DamageName;
	Parms.SourceActor = SourceActor;

	UObject::ProcessEvent(Func, &Parms);

	if (Finish != nullptr)
		*Finish = std::move(Parms.Finish);
}


// Function BP_CopyActorBase.BP_CopyActorBase_C.GetCopyClass
// (Public, HasOutParams, HasDefaults, BlueprintCallable, BlueprintEvent)
// Parameters:
// class UStaticMeshComponent*             CentorComponent                                        (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, NoDestructor, HasGetValueTypeHash)
// class UClass**                          Class_0                                                (Parm, OutParm, ZeroConstructor, NoDestructor, HasGetValueTypeHash)
// double*                                 Scale                                                  (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// struct FVector*                         DefaultScale                                           (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void ABP_CopyActorBase_C::GetCopyClass(class UStaticMeshComponent* CentorComponent, class UClass** Class_0, double* Scale, struct FVector* DefaultScale)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_CopyActorBase_C", "GetCopyClass");

	Params::BP_CopyActorBase_C_GetCopyClass Parms{};

	Parms.CentorComponent = CentorComponent;

	UObject::ProcessEvent(Func, &Parms);

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

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

	if (DefaultScale != nullptr)
		*DefaultScale = std::move(Parms.DefaultScale);
}


// Function BP_CopyActorBase.BP_CopyActorBase_C.UserConstructionScript
// (Event, Public, HasDefaults, BlueprintCallable, BlueprintEvent)

void ABP_CopyActorBase_C::UserConstructionScript()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_CopyActorBase_C", "UserConstructionScript");

	UObject::ProcessEvent(Func, nullptr);
}


// Function BP_CopyActorBase.BP_CopyActorBase_C.DeleteVATAnim__FinishedFunc
// (BlueprintEvent)

void ABP_CopyActorBase_C::DeleteVATAnim__FinishedFunc()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_CopyActorBase_C", "DeleteVATAnim__FinishedFunc");

	UObject::ProcessEvent(Func, nullptr);
}


// Function BP_CopyActorBase.BP_CopyActorBase_C.DeleteVATAnim__UpdateFunc
// (BlueprintEvent)

void ABP_CopyActorBase_C::DeleteVATAnim__UpdateFunc()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_CopyActorBase_C", "DeleteVATAnim__UpdateFunc");

	UObject::ProcessEvent(Func, nullptr);
}


// Function BP_CopyActorBase.BP_CopyActorBase_C.StanDamage
// (Public, BlueprintCallable, BlueprintEvent)
// Parameters:
// EN_StanType                             StanType                                               (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void ABP_CopyActorBase_C::StanDamage(EN_StanType StanType)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_CopyActorBase_C", "StanDamage");

	Params::BP_CopyActorBase_C_StanDamage Parms{};

	Parms.StanType = StanType;

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


// Function BP_CopyActorBase.BP_CopyActorBase_C.StaminaDamage
// (Public, BlueprintCallable, BlueprintEvent)
// Parameters:
// double                                  Value                                                  (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void ABP_CopyActorBase_C::StaminaDamage(double Value)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_CopyActorBase_C", "StaminaDamage");

	Params::BP_CopyActorBase_C_StaminaDamage Parms{};

	Parms.Value = Value;

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


// Function BP_CopyActorBase.BP_CopyActorBase_C.DamageToPlayerController
// (Public, BlueprintCallable, BlueprintEvent)
// Parameters:
// class AActor*                           TargetActor                                            (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, NoDestructor, HasGetValueTypeHash)
// double                                  DamageValue                                            (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// int32                                   TeamIndex                                              (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// EN_DamageType                           DamageType                                             (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// const struct FTransform&                SourceAgentPoint                                       (BlueprintVisible, BlueprintReadOnly, Parm, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// bool                                    UnAvoidable                                            (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// class FName                             DamageName                                             (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// const struct FHitResult&                HitRezult                                              (BlueprintVisible, BlueprintReadOnly, Parm, IsPlainOldData, NoDestructor, ContainsInstancedReference)
// class AActor*                           SourceActor                                            (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, NoDestructor, HasGetValueTypeHash)

void ABP_CopyActorBase_C::DamageToPlayerController(class AActor* TargetActor, double DamageValue, int32 TeamIndex, EN_DamageType DamageType, const struct FTransform& SourceAgentPoint, bool UnAvoidable, class FName DamageName, const struct FHitResult& HitRezult, class AActor* SourceActor)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_CopyActorBase_C", "DamageToPlayerController");

	Params::BP_CopyActorBase_C_DamageToPlayerController Parms{};

	Parms.TargetActor = TargetActor;
	Parms.DamageValue = DamageValue;
	Parms.TeamIndex = TeamIndex;
	Parms.DamageType = DamageType;
	Parms.SourceAgentPoint = std::move(SourceAgentPoint);
	Parms.UnAvoidable = UnAvoidable;
	Parms.DamageName = DamageName;
	Parms.HitRezult = std::move(HitRezult);
	Parms.SourceActor = SourceActor;

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


// Function BP_CopyActorBase.BP_CopyActorBase_C.Reverse
// (Public, BlueprintCallable, BlueprintEvent)
// Parameters:
// const struct FTransform&                NewPosition                                            (BlueprintVisible, BlueprintReadOnly, Parm, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// const struct FVector&                   HitNormal                                              (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void ABP_CopyActorBase_C::Reverse(const struct FTransform& NewPosition, const struct FVector& HitNormal)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_CopyActorBase_C", "Reverse");

	Params::BP_CopyActorBase_C_Reverse Parms{};

	Parms.NewPosition = std::move(NewPosition);
	Parms.HitNormal = std::move(HitNormal);

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


// Function BP_CopyActorBase.BP_CopyActorBase_C.Delete
// (Public, BlueprintCallable, BlueprintEvent)

void ABP_CopyActorBase_C::Delete()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_CopyActorBase_C", "Delete");

	UObject::ProcessEvent(Func, nullptr);
}


// Function BP_CopyActorBase.BP_CopyActorBase_C.Fix
// (Public, BlueprintCallable, BlueprintEvent)

void ABP_CopyActorBase_C::Fix()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_CopyActorBase_C", "Fix");

	UObject::ProcessEvent(Func, nullptr);
}


// Function BP_CopyActorBase.BP_CopyActorBase_C.ExecuteUbergraph_BP_CopyActorBase
// (Final, UbergraphFunction, HasDefaults)
// Parameters:
// int32                                   EntryPoint                                             (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void ABP_CopyActorBase_C::ExecuteUbergraph_BP_CopyActorBase(int32 EntryPoint)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_CopyActorBase_C", "ExecuteUbergraph_BP_CopyActorBase");

	Params::BP_CopyActorBase_C_ExecuteUbergraph_BP_CopyActorBase Parms{};

	Parms.EntryPoint = EntryPoint;

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


SDK_NAMESPACE_END
