feat(frontend): primeira tela WBP_Boot (conecta ao ZeusCharServer)

Primeira tela concreta do front-end, cópia fiel do WBP_BootScreen gerado
pelo Zeus UMG Forge, adaptada aos componentes do projeto:

- UUIBootScreen_Base : UUIActivatableScreen_Base — observa o
  UZeusCharServerSubsystem; libera "Iniciar" no OnConnected; clique →
  UUIFrontEndFlowSubsystem::RequestEnterLogin → estado Login.
- UUISpinner_Base (componente compartilhado temável) + FUIStyleSpinner.
- FUIStyle.ScreenBackground (brush data-driven); fundo via DT_UI_Styles
  (T_Boot_Background em UI/Themes/Default/Boot), sem hard-ref no WBP (§5).
- ThemeKeys: Boot_Background/Logo/Music.
- Correção do Flow: pré-login agora conecta no UZeusCharServerSubsystem
  (WebSocket 7100), não mais no UDP do world server (que fica só p/
  EnteringWorld/InWorld); RequestEnterLogin() adicionado.
- WBP_Boot duplicado fiel + reparent UUIBootScreen_Base; swap manual no
  Designer (Btn_Start/Spinner_Connect/Text_Status); slots de layout
  (Container_Root/Stage/Content) ajustados p/ preencher/centralizar.
- WBP_PrimaryGameLayout: Stack_Modal corrigido p/ Fill/Fill.
- DA_FrontEndScreenSet: StateScreens[Boot] = WBP_Boot.
- ARQUITETURA.md (§2.1/§2.2/§4.8 + nota CharServer).

Validado em PIE: tela centralizada, fundo, conexão ao ZeusCharServer e
liberação do botão. Crash do plugin tratado em commit separado do server.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-19 05:15:17 -03:00
parent 2cd8b3b2bb
commit 1e501e52a8
16 changed files with 521 additions and 29 deletions

View File

@@ -42,6 +42,17 @@ struct ZMMO_API FUIStyle
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "UI Style")
FUIStyleTooltip Tooltip;
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "UI Style")
FUIStyleSpinner Spinner;
/**
* 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;
};
/**