#pragma once

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

// Package: Ultra_Dynamic_Weather_Interface

#include "Basic.hpp"

#include "CoreUObject_classes.hpp"


SDK_NAMESPACE_START

// BlueprintGeneratedClass Ultra_Dynamic_Weather_Interface.Ultra_Dynamic_Weather_Interface_C
// 0x0000 (0x0000 - 0x0000)
class IUltra_Dynamic_Weather_Interface_C final
{
public:
	void UDW_State_Apply(const struct FUDS_and_UDW_State& State, bool* Completed);
	void UDW_Runtime_Tick(double Delta_Time);
	void UDS_Weather_Variable_Overrides(bool Override_Clouds, double Cloud_Coverage, bool Override_Fog, double Fog, bool Override_Dust, double Dust, bool* Success);
	void UDS_Reconstruct(bool* Success);
	void Report_Removed_Radial_Storm(class AActor* storm, bool* Success);
	void 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);
	void Initialize_Weather(class AUltra_Dynamic_Sky_C* UDS);
	void Global_Lightning_Managed_Spawn(double Angle, double Lightning_Threshold);
	void 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);
	void Get_Weather_Speed(double* Out);
	void Get_UDW_State_for_Saving(struct FUDS_and_UDW_State* UDW_State);
	void Get_UDW_Scaled_Tick_Delta_Seconds(double* Out);
	void Get_UDW_Current_UDS_Reference(class AUltra_Dynamic_Sky_C** UDS);
	void Get_UDS_Weather_Override_Bool(bool* Cloud_Coverage, bool* Fog, bool* Dust);
	void 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);
	void 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);
	void Get_Snow_Material_Change_Timing(double* Coverage_Duration, double* Melt_Duration, double* Melt_Speed__Above_Freezing_, double* Melt_Speed__Below_Freezing_);
	void Get_Local_Weather_State_Values(double* Cloud_Coverage, double* Wind_Intensity, double* Rain, double* Snow, double* Dust, double* Fog, double* Lightning);
	void Get_Local_Weather_Source_Objects(TMap<class UUDS_Weather_Settings_C*, double>* Map);
	void Get_Lightning_Flash_Period(double* Out);
	void Get_Individual_Season_Floats(TArray<double>* Out);
	void Get_Global_Temp_Above_Freezing(bool* Above_Freezing);
	void Get_Dust_Material_Change_Timing(double* Coverage_Duration, double* Clear_Duration, double* Clear_Speed__Windy_, double* Clear_Speed__No_Wind_);
	void Get_Current_Season(double* Season);
	void Get_Control_Point_Location(struct FVector* Location);
	void Editor_Tick(const struct FVector& Editor_Camera_Location, const struct FRotator& Editor_Camera_Rotation, double Delta_Time, bool* Completed);
	void Editor_Return_from_PIE(bool* Success);

public:
	static class UClass* StaticClass()
	{
		BP_STATIC_CLASS_IMPL("Ultra_Dynamic_Weather_Interface_C")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"Ultra_Dynamic_Weather_Interface_C")
	}
	static class IUltra_Dynamic_Weather_Interface_C* GetDefaultObj()
	{
		return GetDefaultObjImpl<IUltra_Dynamic_Weather_Interface_C>();
	}

	class UObject* AsUObject()
	{
		return reinterpret_cast<UObject*>(this);
	}
	const class UObject* AsUObject() const
	{
		return reinterpret_cast<const UObject*>(this);
	}
};
DUMPER7_ASSERTS_IUltra_Dynamic_Weather_Interface_C;

SDK_NAMESPACE_END
