#pragma once

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

// Package: BlueprintColorPicker

#include "Basic.hpp"

#include "BlueprintColorPicker_classes.hpp"
#include "BlueprintColorPicker_parameters.hpp"


SDK_NAMESPACE_START

// Function BlueprintColorPicker.ColorPicker.SampleViewportGBuffer
// (Final, Native, Static, Public, HasOutParams, HasDefaults, BlueprintCallable)
// Parameters:
// class UObject*                          WorldContextObject                                     (Parm, ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// const struct FVector2D&                 ScreenPosition                                         (Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// struct FLinearColor*                    OutBaseColor                                           (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// float*                                  OutMetallic                                            (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// float*                                  OutRoughness                                           (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// class UMaterialInterface*               OptionalMetallicRoughnessMaterial                      (Parm, ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// bool                                    ReturnValue                                            (Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

bool UColorPicker::SampleViewportGBuffer(class UObject* WorldContextObject, const struct FVector2D& ScreenPosition, struct FLinearColor* OutBaseColor, float* OutMetallic, float* OutRoughness, class UMaterialInterface* OptionalMetallicRoughnessMaterial)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = StaticClass()->GetFunction("ColorPicker", "SampleViewportGBuffer");

	Params::ColorPicker_SampleViewportGBuffer Parms{};

	Parms.WorldContextObject = WorldContextObject;
	Parms.ScreenPosition = std::move(ScreenPosition);
	Parms.OptionalMetallicRoughnessMaterial = OptionalMetallicRoughnessMaterial;

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

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

	Func->FunctionFlags = Flgs;

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

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

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

	return Parms.ReturnValue;
}


// Function BlueprintColorPicker.ColorPicker.ApplySampledValues
// (Final, Native, Public, HasOutParams, HasDefaults, BlueprintCallable)
// Parameters:
// const struct FLinearColor&              SampledColor                                           (ConstParm, Parm, OutParm, ZeroConstructor, ReferenceParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// float                                   SampledMetallic                                        (Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// float                                   SampledRoughness                                       (Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

void UColorPicker::ApplySampledValues(const struct FLinearColor& SampledColor, float SampledMetallic, float SampledRoughness)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("ColorPicker", "ApplySampledValues");

	Params::ColorPicker_ApplySampledValues Parms{};

	Parms.SampledColor = std::move(SampledColor);
	Parms.SampledMetallic = SampledMetallic;
	Parms.SampledRoughness = SampledRoughness;

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

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;
}


// Function BlueprintColorPicker.ColorPicker.SampleViewportAtCursorAndApply
// (Final, Native, Public, BlueprintCallable)
// Parameters:
// bool                                    ReturnValue                                            (Parm, OutParm, ZeroConstructor, ReturnParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

bool UColorPicker::SampleViewportAtCursorAndApply()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("ColorPicker", "SampleViewportAtCursorAndApply");

	Params::ColorPicker_SampleViewportAtCursorAndApply Parms{};

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

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	return Parms.ReturnValue;
}


// Function BlueprintColorPicker.ColorPicker.StartGBufferSampling
// (Final, Native, Public, BlueprintCallable)

void UColorPicker::StartGBufferSampling()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("ColorPicker", "StartGBufferSampling");

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

	UObject::ProcessEvent(Func, nullptr);

	Func->FunctionFlags = Flgs;
}


// Function BlueprintColorPicker.ColorPicker.StopGBufferSampling
// (Final, Native, Public, BlueprintCallable)
// Parameters:
// bool                                    bCommit                                                (Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

void UColorPicker::StopGBufferSampling(bool bCommit)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("ColorPicker", "StopGBufferSampling");

	Params::ColorPicker_StopGBufferSampling Parms{};

	Parms.bCommit = bCommit;

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

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;
}


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

bool UColorPicker::IsGBufferSamplingActive() const
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("ColorPicker", "IsGBufferSamplingActive");

	Params::ColorPicker_IsGBufferSamplingActive Parms{};

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

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	return Parms.ReturnValue;
}


SDK_NAMESPACE_END
