#pragma once

#include "CoreMinimal.h"
#include "Engine/DataAsset.h"
#include "UI/ThemeKeys.h"
#include "UI/ThemeRow.h"
#include "ZMMOThemeDataAsset.generated.h"

UCLASS(BlueprintType)
class ZMMO_API UZMMOThemeDataAsset : public UPrimaryDataAsset
{
	GENERATED_BODY()

public:
	UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Theme")
	FName ThemeId;

	UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Theme")
	FText DisplayName;

	UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Theme", meta = (ToolTip = "Only fill the keys this theme overrides. Missing keys fall back to the Default theme."))
	TMap<EZMMOThemeKey, FThemeEntry> Entries;

	bool HasKey(EZMMOThemeKey Key) const;
	const FThemeEntry* FindEntry(EZMMOThemeKey Key) const;
};
