#pragma once

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

// Package: CompositeCore

#include "Basic.hpp"

#include "CompositeCore_classes.hpp"
#include "CompositeCore_parameters.hpp"


SDK_NAMESPACE_START

// Function CompositeCore.CompositeCoreSubsystem.RegisterPrimitive
// (Final, RequiredAPI, Native, Public, BlueprintCallable)
// Parameters:
// class UPrimitiveComponent*              InPrimitiveComponent                                   (Parm, ZeroConstructor, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

void UCompositeCoreSubsystem::RegisterPrimitive(class UPrimitiveComponent* InPrimitiveComponent)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("CompositeCoreSubsystem", "RegisterPrimitive");

	Params::CompositeCoreSubsystem_RegisterPrimitive Parms{};

	Parms.InPrimitiveComponent = InPrimitiveComponent;

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

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;
}


// Function CompositeCore.CompositeCoreSubsystem.UnregisterPrimitive
// (Final, RequiredAPI, Native, Public, BlueprintCallable)
// Parameters:
// class UPrimitiveComponent*              InPrimitiveComponent                                   (Parm, ZeroConstructor, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

void UCompositeCoreSubsystem::UnregisterPrimitive(class UPrimitiveComponent* InPrimitiveComponent)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("CompositeCoreSubsystem", "UnregisterPrimitive");

	Params::CompositeCoreSubsystem_UnregisterPrimitive Parms{};

	Parms.InPrimitiveComponent = InPrimitiveComponent;

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

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;
}


// Function CompositeCore.HoldoutCompositeComponent.SetEnabled
// (Final, RequiredAPI, Native, Public, BlueprintCallable)
// Parameters:
// bool                                    bInEnabled                                             (Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

void UHoldoutCompositeComponent::SetEnabled(bool bInEnabled)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("HoldoutCompositeComponent", "SetEnabled");

	Params::HoldoutCompositeComponent_SetEnabled Parms{};

	Parms.bInEnabled = bInEnabled;

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

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;
}


// Function CompositeCore.HoldoutCompositeComponent.IsEnabled
// (Final, RequiredAPI, Native, Public, BlueprintCallable, BlueprintPure, Const)
// Parameters:
// bool                                    ReturnValue                                            (Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

bool UHoldoutCompositeComponent::IsEnabled() const
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("HoldoutCompositeComponent", "IsEnabled");

	Params::HoldoutCompositeComponent_IsEnabled Parms{};

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

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	return Parms.ReturnValue;
}


SDK_NAMESPACE_END
