#pragma once

#include "CoreMinimal.h"
#include "Engine/DataAsset.h"
#include "UI/LoadingTypes.h"
#include "UILoadingProfilesDataAsset.generated.h"

/**
 *  Mapa data-driven contexto → perfil (etapas + título). Designer edita o
 *  asset; código consulta por EZMMOLoadingContext na hora de configurar a
 *  tela. Asset canônico: DA_LoadingProfiles em /Game/ZMMO/Data/UI/Loading/.
 *
 *  Configurado em DefaultGame.ini:
 *      [/Script/ZMMO.UIFrontEndFlowSubsystem]
 *      LoadingProfilesAsset=/Game/ZMMO/Data/UI/Loading/DA_LoadingProfiles.DA_LoadingProfiles
 */
UCLASS(BlueprintType)
class ZMMO_API UZMMOLoadingProfilesDataAsset : public UDataAsset
{
	GENERATED_BODY()

public:
	UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Loading")
	TMap<EZMMOLoadingContext, FZMMOLoadingProfile> Profiles;

	/** Retorna o perfil do contexto ou um perfil vazio (sem etapas). */
	UFUNCTION(BlueprintCallable, Category = "Loading")
	FZMMOLoadingProfile GetProfile(EZMMOLoadingContext Context) const;
};
