#pragma once

#include "CoreMinimal.h"
#include "Components/ActorComponent.h"
#include "AmbianceFogOverrideComponent.generated.h"

class AGMAmbianceManagerActor;

UCLASS(Blueprintable, meta=(BlueprintSpawnableComponent))
class DBDGRAPHICS_API UAmbianceFogOverrideComponent : public UActorComponent
{
	GENERATED_BODY()

protected:
	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	float _interpolationDistance;

private:
	UPROPERTY(EditAnywhere, BlueprintReadWrite, meta=(AllowPrivateAccess=true))
	bool _canBeDisabledByGameType;

public:
	UFUNCTION(BlueprintCallable)
	void SetAmbianceInterpolationDistance(const float distance);

private:
	UFUNCTION(BlueprintCallable)
	void RegisterToAmbianceFogOverrideManager(const AGMAmbianceManagerActor* ambianceManagerActor) const;

public:
	UAmbianceFogOverrideComponent();
};

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