#pragma once

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

// Package: CommonLoadingScreen

#include "Basic.hpp"

#include "CommonLoadingScreen_classes.hpp"
#include "CommonLoadingScreen_parameters.hpp"


SDK_NAMESPACE_START

// Function CommonLoadingScreen.LoadingProcessInterface.K2_ShouldShowLoadingScreen
// (Native, Event, Public, HasOutParams, BlueprintEvent)
// Parameters:
// class FString*                          OutDebugReason                                         (Parm, OutParm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// bool                                    ReturnValue                                            (Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

bool ILoadingProcessInterface::K2_ShouldShowLoadingScreen(class FString* OutDebugReason)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = AsUObject()->Class->GetFunction("LoadingProcessInterface", "K2_ShouldShowLoadingScreen");

	Params::LoadingProcessInterface_K2_ShouldShowLoadingScreen Parms{};

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

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

	Func->FunctionFlags = Flgs;

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

	return Parms.ReturnValue;
}


// Function CommonLoadingScreen.LoadingProcessTask.CreateLoadingScreenProcessTask
// (Final, Native, Static, Public, BlueprintCallable)
// Parameters:
// class UObject*                          WorldContextObject                                     (Parm, ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// const class FString&                    ShowLoadingScreenReason                                (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// class ULoadingProcessTask*              ReturnValue                                            (Parm, OutParm, ZeroConstructor, ReturnParm, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

class ULoadingProcessTask* ULoadingProcessTask::CreateLoadingScreenProcessTask(class UObject* WorldContextObject, const class FString& ShowLoadingScreenReason)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = StaticClass()->GetFunction("LoadingProcessTask", "CreateLoadingScreenProcessTask");

	Params::LoadingProcessTask_CreateLoadingScreenProcessTask Parms{};

	Parms.WorldContextObject = WorldContextObject;
	Parms.ShowLoadingScreenReason = std::move(ShowLoadingScreenReason);

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

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

	Func->FunctionFlags = Flgs;

	return Parms.ReturnValue;
}


// Function CommonLoadingScreen.LoadingProcessTask.SetShowLoadingScreenReason
// (Final, Native, Public, BlueprintCallable)
// Parameters:
// const class FString&                    InDebugReason                                          (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

void ULoadingProcessTask::SetShowLoadingScreenReason(const class FString& InDebugReason)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("LoadingProcessTask", "SetShowLoadingScreenReason");

	Params::LoadingProcessTask_SetShowLoadingScreenReason Parms{};

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

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;
}


// Function CommonLoadingScreen.LoadingProcessTask.Unregister
// (Final, Native, Public, BlueprintCallable)

void ULoadingProcessTask::Unregister()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("LoadingProcessTask", "Unregister");

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	UObject::ProcessEvent(Func, nullptr);

	Func->FunctionFlags = Flgs;
}


// Function CommonLoadingScreen.LoadingScreenManager.K2_SetLoadingScreenCustomText
// (Final, Native, Static, Public, BlueprintCallable)
// Parameters:
// class UWorld*                           WorldContextObject                                     (Parm, ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// const class FString&                    NewText                                                (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

void ULoadingScreenManager::K2_SetLoadingScreenCustomText(class UWorld* WorldContextObject, const class FString& NewText)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = StaticClass()->GetFunction("LoadingScreenManager", "K2_SetLoadingScreenCustomText");

	Params::LoadingScreenManager_K2_SetLoadingScreenCustomText Parms{};

	Parms.WorldContextObject = WorldContextObject;
	Parms.NewText = std::move(NewText);

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

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

	Func->FunctionFlags = Flgs;
}


// Function CommonLoadingScreen.LoadingScreenManager.AddLoadingScreenWatcher
// (Final, Native, Public, BlueprintCallable)
// Parameters:
// class UObject*                          Object                                                 (Parm, ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

void ULoadingScreenManager::AddLoadingScreenWatcher(class UObject* Object)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("LoadingScreenManager", "AddLoadingScreenWatcher");

	Params::LoadingScreenManager_AddLoadingScreenWatcher Parms{};

	Parms.Object = Object;

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;
}


// Function CommonLoadingScreen.LoadingScreenManager.RemoveLoadingScreenWatcher
// (Final, Native, Public, BlueprintCallable)
// Parameters:
// class UObject*                          Object                                                 (Parm, ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

void ULoadingScreenManager::RemoveLoadingScreenWatcher(class UObject* Object)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("LoadingScreenManager", "RemoveLoadingScreenWatcher");

	Params::LoadingScreenManager_RemoveLoadingScreenWatcher Parms{};

	Parms.Object = Object;

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;
}


// Function CommonLoadingScreen.LoadingScreenManager.GetCurrentLoadingMap
// (Final, Native, Public, BlueprintCallable, BlueprintPure, Const)
// Parameters:
// class FString                           ReturnValue                                            (Parm, OutParm, ZeroConstructor, ReturnParm, HasGetValueTypeHash, NativeAccessSpecifierPublic)

class FString ULoadingScreenManager::GetCurrentLoadingMap() const
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("LoadingScreenManager", "GetCurrentLoadingMap");

	Params::LoadingScreenManager_GetCurrentLoadingMap Parms{};

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	return Parms.ReturnValue;
}


// Function CommonLoadingScreen.LoadingScreenManager.GetDebugReasonForShowingOrHidingLoadingScreen
// (Final, Native, Public, BlueprintCallable, BlueprintPure, Const)
// Parameters:
// class FString                           ReturnValue                                            (Parm, OutParm, ZeroConstructor, ReturnParm, HasGetValueTypeHash, NativeAccessSpecifierPublic)

class FString ULoadingScreenManager::GetDebugReasonForShowingOrHidingLoadingScreen() const
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("LoadingScreenManager", "GetDebugReasonForShowingOrHidingLoadingScreen");

	Params::LoadingScreenManager_GetDebugReasonForShowingOrHidingLoadingScreen Parms{};

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	return Parms.ReturnValue;
}


// Function CommonLoadingScreen.LoadingScreenManager.GetLoadingScreenCustomText
// (Final, Native, Public, BlueprintCallable, BlueprintPure, Const)
// Parameters:
// class FString                           ReturnValue                                            (Parm, OutParm, ZeroConstructor, ReturnParm, HasGetValueTypeHash, NativeAccessSpecifierPublic)

class FString ULoadingScreenManager::GetLoadingScreenCustomText() const
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("LoadingScreenManager", "GetLoadingScreenCustomText");

	Params::LoadingScreenManager_GetLoadingScreenCustomText Parms{};

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	return Parms.ReturnValue;
}


// Function CommonLoadingScreen.LoadingScreenManager.GetLoadingScreenDisplayStatus
// (Final, Native, Public, BlueprintCallable, BlueprintPure, Const)
// Parameters:
// bool                                    ReturnValue                                            (Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

bool ULoadingScreenManager::GetLoadingScreenDisplayStatus() const
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("LoadingScreenManager", "GetLoadingScreenDisplayStatus");

	Params::LoadingScreenManager_GetLoadingScreenDisplayStatus Parms{};

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	return Parms.ReturnValue;
}


SDK_NAMESPACE_END
