#pragma once

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

// Package: BTTask_Strafing

#include "Basic.hpp"

#include "BTTask_Strafing_classes.hpp"
#include "BTTask_Strafing_parameters.hpp"


SDK_NAMESPACE_START

// Function BTTask_Strafing.BTTask_Strafing_C.Select World Direction
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// EN_StrafingDirection                    Strafing_Direction                                     (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// class APawn*                            ControlePawn                                           (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, NoDestructor, HasGetValueTypeHash)
// struct FVector*                         World_Direction                                        (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void UBTTask_Strafing_C::Select_World_Direction(EN_StrafingDirection Strafing_Direction, class APawn* ControlePawn, struct FVector* World_Direction)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BTTask_Strafing_C", "Select World Direction");

	Params::BTTask_Strafing_C_Select_World_Direction Parms{};

	Parms.Strafing_Direction = Strafing_Direction;
	Parms.ControlePawn = ControlePawn;

	UObject::ProcessEvent(Func, &Parms);

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


// Function BTTask_Strafing.BTTask_Strafing_C.ReceiveTickAI
// (Event, Protected, BlueprintEvent)
// Parameters:
// class AAIController*                    OwnerController_ReceiveTickAI                          (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, NoDestructor, HasGetValueTypeHash)
// class APawn*                            ControlledPawn_ReceiveTickAI                           (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, NoDestructor, HasGetValueTypeHash)
// float                                   DeltaSeconds_ReceiveTickAI                             (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void UBTTask_Strafing_C::ReceiveTickAI(class AAIController* OwnerController_ReceiveTickAI, class APawn* ControlledPawn_ReceiveTickAI, float DeltaSeconds_ReceiveTickAI)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BTTask_Strafing_C", "ReceiveTickAI");

	Params::BTTask_Strafing_C_ReceiveTickAI Parms{};

	Parms.OwnerController_ReceiveTickAI = OwnerController_ReceiveTickAI;
	Parms.ControlledPawn_ReceiveTickAI = ControlledPawn_ReceiveTickAI;
	Parms.DeltaSeconds_ReceiveTickAI = DeltaSeconds_ReceiveTickAI;

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


// Function BTTask_Strafing.BTTask_Strafing_C.ReceiveExecuteAI
// (Event, Protected, BlueprintEvent)
// Parameters:
// class AAIController*                    OwnerController_ReceiveExecuteAI                       (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, NoDestructor, HasGetValueTypeHash)
// class APawn*                            ControlledPawn_ReceiveExecuteAI                        (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, NoDestructor, HasGetValueTypeHash)

void UBTTask_Strafing_C::ReceiveExecuteAI(class AAIController* OwnerController_ReceiveExecuteAI, class APawn* ControlledPawn_ReceiveExecuteAI)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BTTask_Strafing_C", "ReceiveExecuteAI");

	Params::BTTask_Strafing_C_ReceiveExecuteAI Parms{};

	Parms.OwnerController_ReceiveExecuteAI = OwnerController_ReceiveExecuteAI;
	Parms.ControlledPawn_ReceiveExecuteAI = ControlledPawn_ReceiveExecuteAI;

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


// Function BTTask_Strafing.BTTask_Strafing_C.ExecuteUbergraph_BTTask_Strafing
// (Final, UbergraphFunction)
// Parameters:
// int32                                   EntryPoint                                             (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void UBTTask_Strafing_C::ExecuteUbergraph_BTTask_Strafing(int32 EntryPoint)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BTTask_Strafing_C", "ExecuteUbergraph_BTTask_Strafing");

	Params::BTTask_Strafing_C_ExecuteUbergraph_BTTask_Strafing Parms{};

	Parms.EntryPoint = EntryPoint;

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


SDK_NAMESPACE_END
