// Oleg Petruny proprietary.

#pragma once

#include "CoreMinimal.h"
#include "GameFramework/GameUserSettings.h"

#include "CustomGameUserSettings.generated.h"

UCLASS()
class UCustomGameUserSettings : public UGameUserSettings
{
    GENERATED_UCLASS_BODY()

public:
    UFUNCTION(BlueprintCallable, Category = Settings)
    static UCustomGameUserSettings* GetCustomGameUserSettings();

    // Sets mouse sensetivity multiplier
    // @param value [0.1 - 2.0]
    UFUNCTION(BlueprintCallable, Category = Settings)
    void SetMouseSensetivity(float value);

    // Returns mouse sensetivity multiplier in [0.1 - 2.0]
    UFUNCTION(BlueprintCallable, Category = Settings)
    float GetMouseSensetivity() const;

    UPROPERTY(Config, BlueprintReadWrite)
    bool bUseMotionBlur;

    UPROPERTY(Config, BlueprintReadWrite)
    bool bShowFps;

    UPROPERTY(Config, BlueprintReadWrite)
    bool bMouseInverted;

protected:
    UPROPERTY(Config)
    float fMouseSensetivity;

};
