#pragma once

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

// Package: LINK_ServerSaveData

#include "Basic.hpp"

#include "LINK_ServerSaveData_classes.hpp"
#include "LINK_ServerSaveData_parameters.hpp"


SDK_NAMESPACE_START

// Function LINK_ServerSaveData.LINK_ServerSaveData_C.AddController
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// const class AController*&               Controller                                             (ConstParm, BlueprintVisible, BlueprintReadOnly, Parm, OutParm, ZeroConstructor, ReferenceParm, NoDestructor, HasGetValueTypeHash)

void ULINK_ServerSaveData_C::AddController(const class AController*& Controller)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("LINK_ServerSaveData_C", "AddController");

	Params::LINK_ServerSaveData_C_AddController Parms{};

	Parms.Controller = Controller;

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


// Function LINK_ServerSaveData.LINK_ServerSaveData_C.GetController
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent, BlueprintPure)
// Parameters:
// TArray<class AController*>*             AllPlayerControllers_0                                 (Parm, OutParm)

void ULINK_ServerSaveData_C::GetController(TArray<class AController*>* AllPlayerControllers_0)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("LINK_ServerSaveData_C", "GetController");

	Params::LINK_ServerSaveData_C_GetController Parms{};

	UObject::ProcessEvent(Func, &Parms);

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


// Function LINK_ServerSaveData.LINK_ServerSaveData_C.GetCurrentGamePhase
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent, BlueprintPure)
// Parameters:
// EN_LINK_GamePhase*                      GamePhase_0                                            (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void ULINK_ServerSaveData_C::GetCurrentGamePhase(EN_LINK_GamePhase* GamePhase_0)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("LINK_ServerSaveData_C", "GetCurrentGamePhase");

	Params::LINK_ServerSaveData_C_GetCurrentGamePhase Parms{};

	UObject::ProcessEvent(Func, &Parms);

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


// Function LINK_ServerSaveData.LINK_ServerSaveData_C.GetCurrentRound
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent, BlueprintPure)
// Parameters:
// int32*                                  Value                                                  (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void ULINK_ServerSaveData_C::GetCurrentRound(int32* Value)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("LINK_ServerSaveData_C", "GetCurrentRound");

	Params::LINK_ServerSaveData_C_GetCurrentRound Parms{};

	UObject::ProcessEvent(Func, &Parms);

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


// Function LINK_ServerSaveData.LINK_ServerSaveData_C.Initialization
// (Public, BlueprintCallable, BlueprintEvent)

void ULINK_ServerSaveData_C::Initialization()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("LINK_ServerSaveData_C", "Initialization");

	UObject::ProcessEvent(Func, nullptr);
}


// Function LINK_ServerSaveData.LINK_ServerSaveData_C.RemoveController
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// const class AController*&               Controller                                             (ConstParm, BlueprintVisible, BlueprintReadOnly, Parm, OutParm, ZeroConstructor, ReferenceParm, NoDestructor, HasGetValueTypeHash)

void ULINK_ServerSaveData_C::RemoveController(const class AController*& Controller)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("LINK_ServerSaveData_C", "RemoveController");

	Params::LINK_ServerSaveData_C_RemoveController Parms{};

	Parms.Controller = Controller;

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


// Function LINK_ServerSaveData.LINK_ServerSaveData_C.SetCurrentGamePhase
// (Public, BlueprintCallable, BlueprintEvent)
// Parameters:
// EN_LINK_GamePhase                       GamePhase_0                                            (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void ULINK_ServerSaveData_C::SetCurrentGamePhase(EN_LINK_GamePhase GamePhase_0)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("LINK_ServerSaveData_C", "SetCurrentGamePhase");

	Params::LINK_ServerSaveData_C_SetCurrentGamePhase Parms{};

	Parms.GamePhase_0 = GamePhase_0;

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


// Function LINK_ServerSaveData.LINK_ServerSaveData_C.SetCurrentRound
// (Public, BlueprintCallable, BlueprintEvent)
// Parameters:
// int32                                   Value                                                  (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void ULINK_ServerSaveData_C::SetCurrentRound(int32 Value)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("LINK_ServerSaveData_C", "SetCurrentRound");

	Params::LINK_ServerSaveData_C_SetCurrentRound Parms{};

	Parms.Value = Value;

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


SDK_NAMESPACE_END
