#pragma once

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

// Package: Ultra_Dynamic_Weather_Interface

#include "Basic.hpp"

#include "Ultra_Dynamic_Weather_Interface_classes.hpp"
#include "Ultra_Dynamic_Weather_Interface_parameters.hpp"


SDK_NAMESPACE_START

// Function Ultra_Dynamic_Weather_Interface.Ultra_Dynamic_Weather_Interface_C.UDW State Apply
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// const struct FUDS_and_UDW_State&        State                                                  (BlueprintVisible, BlueprintReadOnly, Parm, HasGetValueTypeHash)
// bool*                                   Completed                                              (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void IUltra_Dynamic_Weather_Interface_C::UDW_State_Apply(const struct FUDS_and_UDW_State& State, bool* Completed)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = AsUObject()->Class->GetFunction("Ultra_Dynamic_Weather_Interface_C", "UDW State Apply");

	Params::Ultra_Dynamic_Weather_Interface_C_UDW_State_Apply Parms{};

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

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

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


// Function Ultra_Dynamic_Weather_Interface.Ultra_Dynamic_Weather_Interface_C.UDW Runtime Tick
// (Public, BlueprintCallable, BlueprintEvent)
// Parameters:
// double                                  Delta_Time                                             (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void IUltra_Dynamic_Weather_Interface_C::UDW_Runtime_Tick(double Delta_Time)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = AsUObject()->Class->GetFunction("Ultra_Dynamic_Weather_Interface_C", "UDW Runtime Tick");

	Params::Ultra_Dynamic_Weather_Interface_C_UDW_Runtime_Tick Parms{};

	Parms.Delta_Time = Delta_Time;

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


// Function Ultra_Dynamic_Weather_Interface.Ultra_Dynamic_Weather_Interface_C.UDS Weather Variable Overrides
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// bool                                    Override_Clouds                                        (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// double                                  Cloud_Coverage                                         (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// bool                                    Override_Fog                                           (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// double                                  Fog                                                    (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// bool                                    Override_Dust                                          (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// double                                  Dust                                                   (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// bool*                                   Success                                                (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void IUltra_Dynamic_Weather_Interface_C::UDS_Weather_Variable_Overrides(bool Override_Clouds, double Cloud_Coverage, bool Override_Fog, double Fog, bool Override_Dust, double Dust, bool* Success)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = AsUObject()->Class->GetFunction("Ultra_Dynamic_Weather_Interface_C", "UDS Weather Variable Overrides");

	Params::Ultra_Dynamic_Weather_Interface_C_UDS_Weather_Variable_Overrides Parms{};

	Parms.Override_Clouds = Override_Clouds;
	Parms.Cloud_Coverage = Cloud_Coverage;
	Parms.Override_Fog = Override_Fog;
	Parms.Fog = Fog;
	Parms.Override_Dust = Override_Dust;
	Parms.Dust = Dust;

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

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


// Function Ultra_Dynamic_Weather_Interface.Ultra_Dynamic_Weather_Interface_C.UDS Reconstruct
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// bool*                                   Success                                                (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void IUltra_Dynamic_Weather_Interface_C::UDS_Reconstruct(bool* Success)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = AsUObject()->Class->GetFunction("Ultra_Dynamic_Weather_Interface_C", "UDS Reconstruct");

	Params::Ultra_Dynamic_Weather_Interface_C_UDS_Reconstruct Parms{};

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

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


// Function Ultra_Dynamic_Weather_Interface.Ultra_Dynamic_Weather_Interface_C.Report Removed Radial Storm
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// class AActor*                           storm                                                  (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, NoDestructor, HasGetValueTypeHash)
// bool*                                   Success                                                (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void IUltra_Dynamic_Weather_Interface_C::Report_Removed_Radial_Storm(class AActor* storm, bool* Success)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = AsUObject()->Class->GetFunction("Ultra_Dynamic_Weather_Interface_C", "Report Removed Radial Storm");

	Params::Ultra_Dynamic_Weather_Interface_C_Report_Removed_Radial_Storm Parms{};

	Parms.storm = storm;

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

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


// Function Ultra_Dynamic_Weather_Interface.Ultra_Dynamic_Weather_Interface_C.Interpolate Weather State
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// const class UUDS_Weather_Settings_C*    A                                                      (ConstParm, BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, NoDestructor, HasGetValueTypeHash)
// class UUDS_Weather_Settings_C*          B                                                      (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, NoDestructor, HasGetValueTypeHash)
// double                                  Alpha                                                  (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// class UUDS_Weather_Settings_C*          Target_State                                           (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, NoDestructor, HasGetValueTypeHash)
// bool                                    Set_Material_Effects                                   (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// bool                                    Bias_Material_Effects                                  (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// bool                                    Lerp_Sources                                           (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// bool*                                   Success                                                (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void IUltra_Dynamic_Weather_Interface_C::Interpolate_Weather_State(const class UUDS_Weather_Settings_C* A, class UUDS_Weather_Settings_C* B, double Alpha, class UUDS_Weather_Settings_C* Target_State, bool Set_Material_Effects, bool Bias_Material_Effects, bool Lerp_Sources, bool* Success)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = AsUObject()->Class->GetFunction("Ultra_Dynamic_Weather_Interface_C", "Interpolate Weather State");

	Params::Ultra_Dynamic_Weather_Interface_C_Interpolate_Weather_State Parms{};

	Parms.A = A;
	Parms.B = B;
	Parms.Alpha = Alpha;
	Parms.Target_State = Target_State;
	Parms.Set_Material_Effects = Set_Material_Effects;
	Parms.Bias_Material_Effects = Bias_Material_Effects;
	Parms.Lerp_Sources = Lerp_Sources;

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

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


// Function Ultra_Dynamic_Weather_Interface.Ultra_Dynamic_Weather_Interface_C.Initialize Weather
// (Public, BlueprintCallable, BlueprintEvent)
// Parameters:
// class AUltra_Dynamic_Sky_C*             UDS                                                    (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, NoDestructor, HasGetValueTypeHash)

void IUltra_Dynamic_Weather_Interface_C::Initialize_Weather(class AUltra_Dynamic_Sky_C* UDS)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = AsUObject()->Class->GetFunction("Ultra_Dynamic_Weather_Interface_C", "Initialize Weather");

	Params::Ultra_Dynamic_Weather_Interface_C_Initialize_Weather Parms{};

	Parms.UDS = UDS;

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


// Function Ultra_Dynamic_Weather_Interface.Ultra_Dynamic_Weather_Interface_C.Global Lightning Managed Spawn
// (Public, BlueprintCallable, BlueprintEvent)
// Parameters:
// double                                  Angle                                                  (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// double                                  Lightning_Threshold                                    (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void IUltra_Dynamic_Weather_Interface_C::Global_Lightning_Managed_Spawn(double Angle, double Lightning_Threshold)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = AsUObject()->Class->GetFunction("Ultra_Dynamic_Weather_Interface_C", "Global Lightning Managed Spawn");

	Params::Ultra_Dynamic_Weather_Interface_C_Global_Lightning_Managed_Spawn Parms{};

	Parms.Angle = Angle;
	Parms.Lightning_Threshold = Lightning_Threshold;

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


// Function Ultra_Dynamic_Weather_Interface.Ultra_Dynamic_Weather_Interface_C.Get Wetness Material Change Timing
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// double*                                 Coverage_Duration                                      (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// double*                                 Dry_Duration                                           (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// double*                                 Dry_Speed__Sunny_                                      (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// double*                                 Dry_Speed__Cloudy_                                     (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// double*                                 Snow_Melt_Contributes_to_Wetness                       (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void IUltra_Dynamic_Weather_Interface_C::Get_Wetness_Material_Change_Timing(double* Coverage_Duration, double* Dry_Duration, double* Dry_Speed__Sunny_, double* Dry_Speed__Cloudy_, double* Snow_Melt_Contributes_to_Wetness)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = AsUObject()->Class->GetFunction("Ultra_Dynamic_Weather_Interface_C", "Get Wetness Material Change Timing");

	Params::Ultra_Dynamic_Weather_Interface_C_Get_Wetness_Material_Change_Timing Parms{};

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

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

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

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

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

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


// Function Ultra_Dynamic_Weather_Interface.Ultra_Dynamic_Weather_Interface_C.Get Weather Speed
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// double*                                 Out                                                    (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void IUltra_Dynamic_Weather_Interface_C::Get_Weather_Speed(double* Out)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = AsUObject()->Class->GetFunction("Ultra_Dynamic_Weather_Interface_C", "Get Weather Speed");

	Params::Ultra_Dynamic_Weather_Interface_C_Get_Weather_Speed Parms{};

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

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


// Function Ultra_Dynamic_Weather_Interface.Ultra_Dynamic_Weather_Interface_C.Get UDW State for Saving
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// struct FUDS_and_UDW_State*              UDW_State                                              (Parm, OutParm, HasGetValueTypeHash)

void IUltra_Dynamic_Weather_Interface_C::Get_UDW_State_for_Saving(struct FUDS_and_UDW_State* UDW_State)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = AsUObject()->Class->GetFunction("Ultra_Dynamic_Weather_Interface_C", "Get UDW State for Saving");

	Params::Ultra_Dynamic_Weather_Interface_C_Get_UDW_State_for_Saving Parms{};

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

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


// Function Ultra_Dynamic_Weather_Interface.Ultra_Dynamic_Weather_Interface_C.Get UDW Scaled Tick Delta Seconds
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// double*                                 Out                                                    (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void IUltra_Dynamic_Weather_Interface_C::Get_UDW_Scaled_Tick_Delta_Seconds(double* Out)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = AsUObject()->Class->GetFunction("Ultra_Dynamic_Weather_Interface_C", "Get UDW Scaled Tick Delta Seconds");

	Params::Ultra_Dynamic_Weather_Interface_C_Get_UDW_Scaled_Tick_Delta_Seconds Parms{};

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

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


// Function Ultra_Dynamic_Weather_Interface.Ultra_Dynamic_Weather_Interface_C.Get UDW Current UDS Reference
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// class AUltra_Dynamic_Sky_C**            UDS                                                    (Parm, OutParm, ZeroConstructor, NoDestructor, HasGetValueTypeHash)

void IUltra_Dynamic_Weather_Interface_C::Get_UDW_Current_UDS_Reference(class AUltra_Dynamic_Sky_C** UDS)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = AsUObject()->Class->GetFunction("Ultra_Dynamic_Weather_Interface_C", "Get UDW Current UDS Reference");

	Params::Ultra_Dynamic_Weather_Interface_C_Get_UDW_Current_UDS_Reference Parms{};

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

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


// Function Ultra_Dynamic_Weather_Interface.Ultra_Dynamic_Weather_Interface_C.Get UDS Weather Override Bool
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// bool*                                   Cloud_Coverage                                         (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// bool*                                   Fog                                                    (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// bool*                                   Dust                                                   (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void IUltra_Dynamic_Weather_Interface_C::Get_UDS_Weather_Override_Bool(bool* Cloud_Coverage, bool* Fog, bool* Dust)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = AsUObject()->Class->GetFunction("Ultra_Dynamic_Weather_Interface_C", "Get UDS Weather Override Bool");

	Params::Ultra_Dynamic_Weather_Interface_C_Get_UDS_Weather_Override_Bool Parms{};

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

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

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

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


// Function Ultra_Dynamic_Weather_Interface.Ultra_Dynamic_Weather_Interface_C.Get UDS Values Controlled by UDW
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// double*                                 Cloud_Coverage                                         (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// double*                                 Fog                                                    (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// double*                                 Dust_Amount                                            (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// double*                                 Cloud_Direction                                        (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// double*                                 Wind_Speed_Multiplier                                  (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// double*                                 Fog_Vertical_Velocity                                  (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void IUltra_Dynamic_Weather_Interface_C::Get_UDS_Values_Controlled_by_UDW(double* Cloud_Coverage, double* Fog, double* Dust_Amount, double* Cloud_Direction, double* Wind_Speed_Multiplier, double* Fog_Vertical_Velocity)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = AsUObject()->Class->GetFunction("Ultra_Dynamic_Weather_Interface_C", "Get UDS Values Controlled by UDW");

	Params::Ultra_Dynamic_Weather_Interface_C_Get_UDS_Values_Controlled_by_UDW Parms{};

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

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

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

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

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

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

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


// Function Ultra_Dynamic_Weather_Interface.Ultra_Dynamic_Weather_Interface_C.Get Temperature Bias Settings
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// double*                                 Nighttime_Bias                                         (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// double*                                 Daytime__Bias                                          (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// double*                                 Overcast_Bias                                          (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// double*                                 Rain_Bias                                              (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// double*                                 Snow_Bias                                              (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// double*                                 Fog_Bias                                               (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// double*                                 Dust_Bias                                              (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// double*                                 Evening_Bias                                           (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void IUltra_Dynamic_Weather_Interface_C::Get_Temperature_Bias_Settings(double* Nighttime_Bias, double* Daytime__Bias, double* Overcast_Bias, double* Rain_Bias, double* Snow_Bias, double* Fog_Bias, double* Dust_Bias, double* Evening_Bias)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = AsUObject()->Class->GetFunction("Ultra_Dynamic_Weather_Interface_C", "Get Temperature Bias Settings");

	Params::Ultra_Dynamic_Weather_Interface_C_Get_Temperature_Bias_Settings Parms{};

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

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

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

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

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

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

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

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

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


// Function Ultra_Dynamic_Weather_Interface.Ultra_Dynamic_Weather_Interface_C.Get Snow Material Change Timing
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// double*                                 Coverage_Duration                                      (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// double*                                 Melt_Duration                                          (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// double*                                 Melt_Speed__Above_Freezing_                            (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// double*                                 Melt_Speed__Below_Freezing_                            (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void IUltra_Dynamic_Weather_Interface_C::Get_Snow_Material_Change_Timing(double* Coverage_Duration, double* Melt_Duration, double* Melt_Speed__Above_Freezing_, double* Melt_Speed__Below_Freezing_)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = AsUObject()->Class->GetFunction("Ultra_Dynamic_Weather_Interface_C", "Get Snow Material Change Timing");

	Params::Ultra_Dynamic_Weather_Interface_C_Get_Snow_Material_Change_Timing Parms{};

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

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

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

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

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


// Function Ultra_Dynamic_Weather_Interface.Ultra_Dynamic_Weather_Interface_C.Get Local Weather State Values
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// double*                                 Cloud_Coverage                                         (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// double*                                 Wind_Intensity                                         (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// double*                                 Rain                                                   (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// double*                                 Snow                                                   (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// double*                                 Dust                                                   (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// double*                                 Fog                                                    (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// double*                                 Lightning                                              (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void IUltra_Dynamic_Weather_Interface_C::Get_Local_Weather_State_Values(double* Cloud_Coverage, double* Wind_Intensity, double* Rain, double* Snow, double* Dust, double* Fog, double* Lightning)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = AsUObject()->Class->GetFunction("Ultra_Dynamic_Weather_Interface_C", "Get Local Weather State Values");

	Params::Ultra_Dynamic_Weather_Interface_C_Get_Local_Weather_State_Values Parms{};

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

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

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

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

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

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

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

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


// Function Ultra_Dynamic_Weather_Interface.Ultra_Dynamic_Weather_Interface_C.Get Local Weather Source Objects
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// TMap<class UUDS_Weather_Settings_C*, double>*Map                                                    (Parm, OutParm)

void IUltra_Dynamic_Weather_Interface_C::Get_Local_Weather_Source_Objects(TMap<class UUDS_Weather_Settings_C*, double>* Map)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = AsUObject()->Class->GetFunction("Ultra_Dynamic_Weather_Interface_C", "Get Local Weather Source Objects");

	Params::Ultra_Dynamic_Weather_Interface_C_Get_Local_Weather_Source_Objects Parms{};

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

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


// Function Ultra_Dynamic_Weather_Interface.Ultra_Dynamic_Weather_Interface_C.Get Lightning Flash Period
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// double*                                 Out                                                    (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void IUltra_Dynamic_Weather_Interface_C::Get_Lightning_Flash_Period(double* Out)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = AsUObject()->Class->GetFunction("Ultra_Dynamic_Weather_Interface_C", "Get Lightning Flash Period");

	Params::Ultra_Dynamic_Weather_Interface_C_Get_Lightning_Flash_Period Parms{};

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

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


// Function Ultra_Dynamic_Weather_Interface.Ultra_Dynamic_Weather_Interface_C.Get Individual Season Floats
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// TArray<double>*                         Out                                                    (Parm, OutParm)

void IUltra_Dynamic_Weather_Interface_C::Get_Individual_Season_Floats(TArray<double>* Out)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = AsUObject()->Class->GetFunction("Ultra_Dynamic_Weather_Interface_C", "Get Individual Season Floats");

	Params::Ultra_Dynamic_Weather_Interface_C_Get_Individual_Season_Floats Parms{};

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

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


// Function Ultra_Dynamic_Weather_Interface.Ultra_Dynamic_Weather_Interface_C.Get Global Temp Above Freezing
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// bool*                                   Above_Freezing                                         (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void IUltra_Dynamic_Weather_Interface_C::Get_Global_Temp_Above_Freezing(bool* Above_Freezing)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = AsUObject()->Class->GetFunction("Ultra_Dynamic_Weather_Interface_C", "Get Global Temp Above Freezing");

	Params::Ultra_Dynamic_Weather_Interface_C_Get_Global_Temp_Above_Freezing Parms{};

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

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


// Function Ultra_Dynamic_Weather_Interface.Ultra_Dynamic_Weather_Interface_C.Get Dust Material Change Timing
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// double*                                 Coverage_Duration                                      (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// double*                                 Clear_Duration                                         (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// double*                                 Clear_Speed__Windy_                                    (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// double*                                 Clear_Speed__No_Wind_                                  (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void IUltra_Dynamic_Weather_Interface_C::Get_Dust_Material_Change_Timing(double* Coverage_Duration, double* Clear_Duration, double* Clear_Speed__Windy_, double* Clear_Speed__No_Wind_)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = AsUObject()->Class->GetFunction("Ultra_Dynamic_Weather_Interface_C", "Get Dust Material Change Timing");

	Params::Ultra_Dynamic_Weather_Interface_C_Get_Dust_Material_Change_Timing Parms{};

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

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

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

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

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


// Function Ultra_Dynamic_Weather_Interface.Ultra_Dynamic_Weather_Interface_C.Get Current Season
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// double*                                 Season                                                 (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void IUltra_Dynamic_Weather_Interface_C::Get_Current_Season(double* Season)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = AsUObject()->Class->GetFunction("Ultra_Dynamic_Weather_Interface_C", "Get Current Season");

	Params::Ultra_Dynamic_Weather_Interface_C_Get_Current_Season Parms{};

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

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


// Function Ultra_Dynamic_Weather_Interface.Ultra_Dynamic_Weather_Interface_C.Get Control Point Location
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// struct FVector*                         Location                                               (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void IUltra_Dynamic_Weather_Interface_C::Get_Control_Point_Location(struct FVector* Location)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = AsUObject()->Class->GetFunction("Ultra_Dynamic_Weather_Interface_C", "Get Control Point Location");

	Params::Ultra_Dynamic_Weather_Interface_C_Get_Control_Point_Location Parms{};

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

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


// Function Ultra_Dynamic_Weather_Interface.Ultra_Dynamic_Weather_Interface_C.Editor Tick
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// const struct FVector&                   Editor_Camera_Location                                 (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// const struct FRotator&                  Editor_Camera_Rotation                                 (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor)
// double                                  Delta_Time                                             (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// bool*                                   Completed                                              (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void IUltra_Dynamic_Weather_Interface_C::Editor_Tick(const struct FVector& Editor_Camera_Location, const struct FRotator& Editor_Camera_Rotation, double Delta_Time, bool* Completed)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = AsUObject()->Class->GetFunction("Ultra_Dynamic_Weather_Interface_C", "Editor Tick");

	Params::Ultra_Dynamic_Weather_Interface_C_Editor_Tick Parms{};

	Parms.Editor_Camera_Location = std::move(Editor_Camera_Location);
	Parms.Editor_Camera_Rotation = std::move(Editor_Camera_Rotation);
	Parms.Delta_Time = Delta_Time;

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

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


// Function Ultra_Dynamic_Weather_Interface.Ultra_Dynamic_Weather_Interface_C.Editor Return from PIE
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// bool*                                   Success                                                (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void IUltra_Dynamic_Weather_Interface_C::Editor_Return_from_PIE(bool* Success)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = AsUObject()->Class->GetFunction("Ultra_Dynamic_Weather_Interface_C", "Editor Return from PIE");

	Params::Ultra_Dynamic_Weather_Interface_C_Editor_Return_from_PIE Parms{};

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

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


SDK_NAMESPACE_END
