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:
@@ -210,7 +210,8 @@ Content/
|
||||
│ ├── UI/ ← HUD, Login, CharacterSelect, Inventory,
|
||||
│ │ │ Chat, Party, Guild, Trade, Quest, Map,
|
||||
│ │ │ Shared, Icons
|
||||
│ │ ├── Shared/ ← WBPs reutilizáveis (UI_Button_Master…)
|
||||
│ │ ├── Shared/ ← WBPs reutilizáveis (UI_Button_Master,
|
||||
│ │ │ UI_Panel_Master, UI_Spinner_Master)
|
||||
│ │ ├── FrontEnd/ ← WBP_PrimaryGameLayout, DA_FrontEndScreenSet,
|
||||
│ │ │ telas refinadas (Boot/Login/… vindas do Forge)
|
||||
│ │ ├── Fonts/ ← Font_*/FF_* (Cinzel, Rajdhani)
|
||||
@@ -268,9 +269,11 @@ Source/ZMMO/
|
||||
│ ├── Network/ ← UZMMOWorldSubsystem
|
||||
│ └── UI/ ← runtime de UI (não é contrato de dados)
|
||||
│ ├── ZMMOThemeSubsystem.* ← resolução de tema
|
||||
│ ├── Widgets/ ← UUIButton_Base, UUIPanel_Base
|
||||
│ ├── Widgets/ ← UUIButton_Base, UUIPanel_Base,
|
||||
│ │ UUISpinner_Base
|
||||
│ └── FrontEnd/ ← infra de navegação CommonUI:
|
||||
│ UUIActivatableScreen_Base,
|
||||
│ UUIBootScreen_Base (1ª tela),
|
||||
│ UUIPrimaryGameLayout_Base,
|
||||
│ UUIManagerSubsystem (LocalPlayer),
|
||||
│ UUIFrontEndFlowSubsystem (GameInstance),
|
||||
@@ -622,6 +625,15 @@ Fluxo geral: **Boot → Connecting → Login → ServerSelect → Lobby → Ente
|
||||
navegadas por um stack CommonUI **dentro** da tela do Lobby — não são estados
|
||||
de topo do fluxo.
|
||||
|
||||
**Rede do pré-login:** o `UUIFrontEndFlowSubsystem` dirige a conexão ao
|
||||
**`UZeusCharServerSubsystem`** (WebSocket, `CharServerUrl` de Project Settings,
|
||||
default `ws://127.0.0.1:7100/zeus`) ao entrar em **Boot** — NÃO o
|
||||
`UZeusNetworkSubsystem` (UDP, world server, usado só no travel
|
||||
EnteringWorld→InWorld). A tela Boot (`UUIBootScreen_Base`) observa o
|
||||
CharServer: libera o botão "Iniciar" no `OnConnected`; o clique chama
|
||||
`UUIFrontEndFlowSubsystem::RequestEnterLogin()` → estado Login. Tela nunca
|
||||
segura hard-ref de asset de tema (cores via `FUIStyle`; §5).
|
||||
|
||||
1. Prototipar a tela em HTML/CSS em `Tools/Templates/MMO_Widget/` (ou usar os
|
||||
templates já existentes).
|
||||
2. Rodar o Zeus UMG Forge (HTML→UMG). Saída crua: `Content/AutoCreated/<batch>/`.
|
||||
|
||||
Reference in New Issue
Block a user