#pragma once

#include "CoreMinimal.h"
#include "Subsystems/GameInstanceSubsystem.h"
#include "PresetStorageSubsystem.generated.h"

class UCustomizationPresetStorage;
class ULoadoutPresetStorage;

UCLASS(Blueprintable)
class DEADBYDAYLIGHT_API UPresetStorageSubsystem : public UGameInstanceSubsystem
{
	GENERATED_BODY()

private:
	UPROPERTY(EditAnywhere, BlueprintReadWrite, meta=(AllowPrivateAccess=true))
	UCustomizationPresetStorage* _customizationPresetStorage;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, meta=(AllowPrivateAccess=true))
	ULoadoutPresetStorage* _playerLoadoutPresetStorage;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, meta=(AllowPrivateAccess=true))
	ULoadoutPresetStorage* _botLoadoutPresetStorage;

public:
	UPresetStorageSubsystem();
};

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