Files
ZMMO/Source/ZMMO/Game/UI/InGame/UIInGameScreenSet.h
Mateus Rodrigues 6a6a28a086 refactor: prefixo ZMMO -> Zeus em classes/módulos C++ do cliente
- Renomeia ~50 classes UCLASS/USTRUCT/UENUM/UINTERFACE pra Zeus*
  (AZeusGameMode, AZeusCharacter, UZeusGameInstance, IZeusEntityInterface,
  UZeusWorldSubsystem, FZeusEntitySnapshot, etc.)
- Encurta AZMMOPlayerCharacter -> AZeusCharacter
- Renomeia módulos satélite ZMMOAttributes -> ZeusAttributes e
  ZMMOJobs -> ZeusJobs (pasta + .Build.cs + .uproject)
- Mantém módulo principal ZMMO (renomeia depois quando jogo ganhar nome)
- DefaultEngine.ini: ActiveClassRedirects ZMMOX -> ZeusX (preserva BPs/assets)
- DefaultGame.ini: sections atualizadas pra ZeusThemeSubsystem/ZeusPlayerState
- Category="ZMMO|..." -> "Zeus|..." em UPROPERTYs
- Preserva LogZMMO, ZMMO_API, /Script/ZMMO., /Game/ZMMO/, classes Target

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-02 17:24:38 -03:00

36 lines
1.2 KiB
C++

#pragma once
#include "CoreMinimal.h"
#include "Engine/DataAsset.h"
#include "Templates/SubclassOf.h"
#include "UI/InGameTypes.h"
#include "UIInGameScreenSet.generated.h"
class UCommonActivatableWidget;
/**
* Mapa data-driven estado -> tela in-game. Espelho de UUIFrontEndScreenSet
* (Game/UI/FrontEnd/UIFrontEndScreenSet.h) — mesma estrategia: as classes
* concretas das telas (WBP) vivem no DA, nao em codigo. Subsystem orquestra.
*
* Asset concreto: DA_InGameScreenSet em Content/ZMMO/UI/InGame/
* (criado via MCP no editor).
*
* Adicionar nova tela = adicionar entry em EZeusInGameUIState + entry no DA
* + WBP herdando UCommonActivatableWidget. Subsystem nao muda.
*/
UCLASS(BlueprintType)
class ZMMO_API UUIInGameScreenSet : public UDataAsset
{
GENERATED_BODY()
public:
/** Tela por estado in-game. */
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "InGame")
TMap<EZeusInGameUIState, TSoftClassPtr<UCommonActivatableWidget>> StateScreens;
/** Soft class da tela do estado (vazio se nao configurado). */
UFUNCTION(BlueprintCallable, Category = "InGame")
TSoftClassPtr<UCommonActivatableWidget> GetScreenForState(EZeusInGameUIState State) const;
};