- 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>
97 lines
3.1 KiB
C
97 lines
3.1 KiB
C
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "Engine/DataTable.h"
|
|
#include "UIStyleTypes.h"
|
|
#include "UIStyleTokens.h"
|
|
#include "UIStyleRow.generated.h"
|
|
|
|
/**
|
|
* Struct raiz que agrega todos os tokens de estilo de um tema.
|
|
*
|
|
* Adicionar membros aqui (fase 2/3) é mudança aditiva e segura para a
|
|
* DataTable existente — mas, ao alterar este struct em produção, fazer
|
|
* backup de DT_UI_Styles (UHT invalida rows serializadas se a coluna não
|
|
* preservar valores). Ver ARQUITETURA.md / docs Epic sobre DataTable.
|
|
*/
|
|
USTRUCT(BlueprintType)
|
|
struct ZMMO_API FUIStyle
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "UI Style")
|
|
FUIStylePalette Palette;
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "UI Style")
|
|
FUIStyleSemantic Semantic;
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "UI Style")
|
|
FUIStyleText Text;
|
|
|
|
/**
|
|
* Categorias tipográficas nomeadas (data-driven). O autor define as
|
|
* chaves aqui no DT_UI_Styles ("Title", "Section", "Body", "Label",
|
|
* "Dim", ou customizadas); o UUICommonText_Base escolhe pelo nome
|
|
* (dropdown populado a partir destas chaves — sem enum fixo em C++).
|
|
*/
|
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "UI Style")
|
|
TMap<FName, FUITextStyle> TextRoles;
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "UI Style")
|
|
FUIStyleButton Button;
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "UI Style")
|
|
FUIStylePanel Panel;
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "UI Style")
|
|
FUIStyleBorders Borders;
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "UI Style")
|
|
FUIStyleProgressBar ProgressBar;
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "UI Style")
|
|
FUIStyleTooltip Tooltip;
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "UI Style")
|
|
FUIStyleSpinner Spinner;
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "UI Style")
|
|
FUIStyleCheckBox CheckBox;
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "UI Style")
|
|
FUIStyleInput Input;
|
|
|
|
/**
|
|
* Fundo de tela cheia do front-end (ex.: Boot/Login). Brush data-driven:
|
|
* a tela aplica no seu Border_Bg via RefreshUIStyle — nunca hard-ref no
|
|
* WBP (ARQUITETURA.md §5). Preenchido em DT_UI_Styles.
|
|
*/
|
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "UI Style")
|
|
FSlateBrush ScreenBackground;
|
|
};
|
|
|
|
/**
|
|
* Linha de DT_UI_Styles. O Row Name é o ThemeId (ex.: "Default", "RPG"),
|
|
* espelhando DT_ThemeCalendar e ThemeRegistry — assim a camada de estilo
|
|
* é consumidora do ThemeId já resolvido pelo UZeusThemeSubsystem.
|
|
*/
|
|
USTRUCT(BlueprintType)
|
|
struct ZMMO_API FUIStyleRow : public FTableRowBase
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "UI Style")
|
|
FText DisplayName;
|
|
|
|
/** Validação tipada de design-time; runtime resolve por ThemeId/Row Name. */
|
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "UI Style")
|
|
EUITheme Theme = EUITheme::None;
|
|
|
|
/** Ponte para o ThemeId resolvido pelo UZeusThemeSubsystem. */
|
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "UI Style")
|
|
FName ThemeId;
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "UI Style")
|
|
FUIStyle Style;
|
|
};
|