#pragma once

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

// Package: NamingTokens

#include "Basic.hpp"

#include "NamingTokens_classes.hpp"
#include "NamingTokens_parameters.hpp"


SDK_NAMESPACE_START

// Function NamingTokens.NamingTokens.OnPostEvaluate
// (RequiredAPI, Native, Event, Protected, BlueprintEvent)

void UNamingTokens::OnPostEvaluate()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("NamingTokens", "OnPostEvaluate");

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

	UObject::ProcessEvent(Func, nullptr);

	Func->FunctionFlags = Flgs;
}


// Function NamingTokens.NamingTokens.OnPreEvaluate
// (RequiredAPI, Native, Event, Protected, HasOutParams, BlueprintEvent)
// Parameters:
// const struct FNamingTokensEvaluationData&InEvaluationData                                       (ConstParm, Parm, OutParm, ReferenceParm, NativeAccessSpecifierPublic)

void UNamingTokens::OnPreEvaluate(const struct FNamingTokensEvaluationData& InEvaluationData)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("NamingTokens", "OnPreEvaluate");

	Params::NamingTokens_OnPreEvaluate Parms{};

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

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

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;
}


// Function NamingTokens.NamingTokens.ProcessTokenTemplateFunction
// (Final, Native, Private)
// Parameters:
// class FText                             ReturnValue                                            (Parm, OutParm, ReturnParm, NativeAccessSpecifierPublic)

class FText UNamingTokens::ProcessTokenTemplateFunction()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("NamingTokens", "ProcessTokenTemplateFunction");

	Params::NamingTokens_ProcessTokenTemplateFunction Parms{};

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

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	return Parms.ReturnValue;
}


// Function NamingTokens.NamingTokens.GetCurrentDateTime
// (RequiredAPI, Native, Event, Protected, HasDefaults, BlueprintCallable, BlueprintEvent, BlueprintPure, Const)
// Parameters:
// struct FDateTime                        ReturnValue                                            (Parm, OutParm, ZeroConstructor, ReturnParm, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

struct FDateTime UNamingTokens::GetCurrentDateTime() const
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("NamingTokens", "GetCurrentDateTime");

	Params::NamingTokens_GetCurrentDateTime Parms{};

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

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	return Parms.ReturnValue;
}


// Function NamingTokens.NamingTokensEngineSubsystem.ClearCachedNamingTokens
// (Final, RequiredAPI, Native, Public, BlueprintCallable)

void UNamingTokensEngineSubsystem::ClearCachedNamingTokens()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("NamingTokensEngineSubsystem", "ClearCachedNamingTokens");

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

	UObject::ProcessEvent(Func, nullptr);

	Func->FunctionFlags = Flgs;
}


// Function NamingTokens.NamingTokensEngineSubsystem.EvaluateTokenString
// (Final, RequiredAPI, Native, Public, HasOutParams, BlueprintCallable)
// Parameters:
// const class FString&                    InTokenString                                          (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// const struct FNamingTokenFilterArgs&    InFilter                                               (ConstParm, Parm, OutParm, ReferenceParm, NativeAccessSpecifierPublic)
// const TArray<class UObject*>&           InContexts                                             (ConstParm, Parm, OutParm, ZeroConstructor, ReferenceParm, NativeAccessSpecifierPublic)
// struct FNamingTokenResultData           ReturnValue                                            (Parm, OutParm, ReturnParm, NativeAccessSpecifierPublic)

struct FNamingTokenResultData UNamingTokensEngineSubsystem::EvaluateTokenString(const class FString& InTokenString, const struct FNamingTokenFilterArgs& InFilter, const TArray<class UObject*>& InContexts)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("NamingTokensEngineSubsystem", "EvaluateTokenString");

	Params::NamingTokensEngineSubsystem_EvaluateTokenString Parms{};

	Parms.InTokenString = std::move(InTokenString);
	Parms.InFilter = std::move(InFilter);
	Parms.InContexts = std::move(InContexts);

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

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	return Parms.ReturnValue;
}


// Function NamingTokens.NamingTokensEngineSubsystem.EvaluateTokenText
// (Final, RequiredAPI, Native, Public, HasOutParams, BlueprintCallable)
// Parameters:
// const class FText&                      InTokenText                                            (ConstParm, Parm, OutParm, ReferenceParm, NativeAccessSpecifierPublic)
// const struct FNamingTokenFilterArgs&    InFilter                                               (ConstParm, Parm, OutParm, ReferenceParm, NativeAccessSpecifierPublic)
// const TArray<class UObject*>&           InContexts                                             (ConstParm, Parm, OutParm, ZeroConstructor, ReferenceParm, NativeAccessSpecifierPublic)
// struct FNamingTokenResultData           ReturnValue                                            (Parm, OutParm, ReturnParm, NativeAccessSpecifierPublic)

struct FNamingTokenResultData UNamingTokensEngineSubsystem::EvaluateTokenText(const class FText& InTokenText, const struct FNamingTokenFilterArgs& InFilter, const TArray<class UObject*>& InContexts)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("NamingTokensEngineSubsystem", "EvaluateTokenText");

	Params::NamingTokensEngineSubsystem_EvaluateTokenText Parms{};

	Parms.InTokenText = std::move(InTokenText);
	Parms.InFilter = std::move(InFilter);
	Parms.InContexts = std::move(InContexts);

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

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	return Parms.ReturnValue;
}


// Function NamingTokens.NamingTokensEngineSubsystem.RegisterGlobalNamespace
// (Final, RequiredAPI, Native, Public, BlueprintCallable)
// Parameters:
// const class FString&                    InNamespace                                            (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

void UNamingTokensEngineSubsystem::RegisterGlobalNamespace(const class FString& InNamespace)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("NamingTokensEngineSubsystem", "RegisterGlobalNamespace");

	Params::NamingTokensEngineSubsystem_RegisterGlobalNamespace Parms{};

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

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

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;
}


// Function NamingTokens.NamingTokensEngineSubsystem.UnregisterGlobalNamespace
// (Final, RequiredAPI, Native, Public, BlueprintCallable)
// Parameters:
// const class FString&                    InNamespace                                            (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

void UNamingTokensEngineSubsystem::UnregisterGlobalNamespace(const class FString& InNamespace)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("NamingTokensEngineSubsystem", "UnregisterGlobalNamespace");

	Params::NamingTokensEngineSubsystem_UnregisterGlobalNamespace Parms{};

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

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

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;
}


// Function NamingTokens.NamingTokensEngineSubsystem.GetAllNamespaces
// (Final, RequiredAPI, Native, Public, BlueprintCallable, BlueprintPure, Const)
// Parameters:
// TArray<class FString>                   ReturnValue                                            (Parm, OutParm, ZeroConstructor, ReturnParm, NativeAccessSpecifierPublic)

TArray<class FString> UNamingTokensEngineSubsystem::GetAllNamespaces() const
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("NamingTokensEngineSubsystem", "GetAllNamespaces");

	Params::NamingTokensEngineSubsystem_GetAllNamespaces Parms{};

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

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	return Parms.ReturnValue;
}


// Function NamingTokens.NamingTokensEngineSubsystem.GetGlobalNamespaces
// (Final, RequiredAPI, Native, Public, BlueprintCallable, BlueprintPure, Const)
// Parameters:
// TArray<class FString>                   ReturnValue                                            (Parm, OutParm, ZeroConstructor, ReturnParm, NativeAccessSpecifierPublic)

TArray<class FString> UNamingTokensEngineSubsystem::GetGlobalNamespaces() const
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("NamingTokensEngineSubsystem", "GetGlobalNamespaces");

	Params::NamingTokensEngineSubsystem_GetGlobalNamespaces Parms{};

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

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	return Parms.ReturnValue;
}


// Function NamingTokens.NamingTokensEngineSubsystem.GetMultipleNamingTokens
// (Final, RequiredAPI, Native, Public, HasOutParams, BlueprintCallable, BlueprintPure, Const)
// Parameters:
// const TArray<class FString>&            InNamespaces                                           (ConstParm, Parm, OutParm, ZeroConstructor, ReferenceParm, NativeAccessSpecifierPublic)
// TArray<class UNamingTokens*>            ReturnValue                                            (Parm, OutParm, ZeroConstructor, ReturnParm, NativeAccessSpecifierPublic)

TArray<class UNamingTokens*> UNamingTokensEngineSubsystem::GetMultipleNamingTokens(const TArray<class FString>& InNamespaces) const
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("NamingTokensEngineSubsystem", "GetMultipleNamingTokens");

	Params::NamingTokensEngineSubsystem_GetMultipleNamingTokens Parms{};

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

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

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	return Parms.ReturnValue;
}


// Function NamingTokens.NamingTokensEngineSubsystem.GetNamingTokens
// (Final, RequiredAPI, Native, Public, BlueprintCallable, BlueprintPure, Const)
// Parameters:
// const class FString&                    InNamespace                                            (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// class UNamingTokens*                    ReturnValue                                            (Parm, OutParm, ZeroConstructor, ReturnParm, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

class UNamingTokens* UNamingTokensEngineSubsystem::GetNamingTokens(const class FString& InNamespace) const
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("NamingTokensEngineSubsystem", "GetNamingTokens");

	Params::NamingTokensEngineSubsystem_GetNamingTokens Parms{};

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

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

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	return Parms.ReturnValue;
}


// Function NamingTokens.NamingTokensEngineSubsystem.GetNamingTokensNative
// (Final, RequiredAPI, Native, Public, BlueprintCallable, BlueprintPure, Const)
// Parameters:
// const class FString&                    InNamespace                                            (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// class UNamingTokens*                    ReturnValue                                            (Parm, OutParm, ZeroConstructor, ReturnParm, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

class UNamingTokens* UNamingTokensEngineSubsystem::GetNamingTokensNative(const class FString& InNamespace) const
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("NamingTokensEngineSubsystem", "GetNamingTokensNative");

	Params::NamingTokensEngineSubsystem_GetNamingTokensNative Parms{};

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

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

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	return Parms.ReturnValue;
}


// Function NamingTokens.NamingTokensEngineSubsystem.IsGlobalNamespaceRegistered
// (Final, RequiredAPI, Native, Public, BlueprintCallable, BlueprintPure, Const)
// Parameters:
// const class FString&                    InNamespace                                            (Parm, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// bool                                    ReturnValue                                            (Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

bool UNamingTokensEngineSubsystem::IsGlobalNamespaceRegistered(const class FString& InNamespace) const
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("NamingTokensEngineSubsystem", "IsGlobalNamespaceRegistered");

	Params::NamingTokensEngineSubsystem_IsGlobalNamespaceRegistered Parms{};

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

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

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	return Parms.ReturnValue;
}


SDK_NAMESPACE_END
