#pragma once

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

// Package: BPI_AIControl

#include "Basic.hpp"

#include "BPI_AIControl_classes.hpp"
#include "BPI_AIControl_parameters.hpp"


SDK_NAMESPACE_START

// Function BPI_AIControl.BPI_AIControl_C.GetAvoidanceRotation
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// struct FRotator*                        Rotation                                               (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor)

void IBPI_AIControl_C::GetAvoidanceRotation(struct FRotator* Rotation)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = AsUObject()->Class->GetFunction("BPI_AIControl_C", "GetAvoidanceRotation");

	Params::BPI_AIControl_C_GetAvoidanceRotation Parms{};

	AsUObject()->ProcessEvent(Func, &Parms);

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


// Function BPI_AIControl.BPI_AIControl_C.IsAiming
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// bool*                                   IsAiming_0                                             (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// int32*                                  SuccessCount                                           (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void IBPI_AIControl_C::IsAiming(bool* IsAiming_0, int32* SuccessCount)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = AsUObject()->Class->GetFunction("BPI_AIControl_C", "IsAiming");

	Params::BPI_AIControl_C_IsAiming Parms{};

	AsUObject()->ProcessEvent(Func, &Parms);

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

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


// Function BPI_AIControl.BPI_AIControl_C.IsAttackNow
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// bool*                                   State                                                  (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void IBPI_AIControl_C::IsAttackNow(bool* State)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = AsUObject()->Class->GetFunction("BPI_AIControl_C", "IsAttackNow");

	Params::BPI_AIControl_C_IsAttackNow Parms{};

	AsUObject()->ProcessEvent(Func, &Parms);

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


// Function BPI_AIControl.BPI_AIControl_C.IsBattleMode
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// bool*                                   Bool                                                   (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void IBPI_AIControl_C::IsBattleMode(bool* Bool)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = AsUObject()->Class->GetFunction("BPI_AIControl_C", "IsBattleMode");

	Params::BPI_AIControl_C_IsBattleMode Parms{};

	AsUObject()->ProcessEvent(Func, &Parms);

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


// Function BPI_AIControl.BPI_AIControl_C.PlayAvoidanceAnimation
// (Public, BlueprintCallable, BlueprintEvent)

void IBPI_AIControl_C::PlayAvoidanceAnimation()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = AsUObject()->Class->GetFunction("BPI_AIControl_C", "PlayAvoidanceAnimation");

	AsUObject()->ProcessEvent(Func, nullptr);
}


// Function BPI_AIControl.BPI_AIControl_C.SetStrafing
// (Public, BlueprintCallable, BlueprintEvent)
// Parameters:
// bool                                    IsStrafing                                             (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// EN_StrafingDirection                    Direction                                              (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void IBPI_AIControl_C::SetStrafing(bool IsStrafing, EN_StrafingDirection Direction)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = AsUObject()->Class->GetFunction("BPI_AIControl_C", "SetStrafing");

	Params::BPI_AIControl_C_SetStrafing Parms{};

	Parms.IsStrafing = IsStrafing;
	Parms.Direction = Direction;

	AsUObject()->ProcessEvent(Func, &Parms);
}


SDK_NAMESPACE_END
