#pragma once

#include "CoreMinimal.h"
#include "Engine/DeveloperSettings.h"
#include "UObject/SoftObjectPtr.h"
#include "AmbianceManagerSettings.generated.h"

class UMaterialParameterCollection;
class UTextureRenderTarget2D;
class UDataTable;

UCLASS(Blueprintable)
class GRAPHICSEXTENSIONS_API UAmbianceManagerSettings : public UDeveloperSettings
{
	GENERATED_BODY()

public:
	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	TSoftObjectPtr<UMaterialParameterCollection> _ambianceManagerMPC;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	TSoftObjectPtr<UMaterialParameterCollection> _vfxMPC;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	TSoftObjectPtr<UTextureRenderTarget2D> _windDepthMap;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	TSoftObjectPtr<UDataTable> _defaultPrioritiesTable;

public:
	UAmbianceManagerSettings();
};

FORCEINLINE uint32 GetTypeHash(const UAmbianceManagerSettings) { return 0; }
