bc07c4755743ab09bf08d7655fd1ac62b5e9c3cb
Estrutura principal de front-end estilo Lyra portada para C++ proprio do ZMMO (sem CommonGame), seguindo o padrao C++ Abstract -> WBP concreto: - EZMMOFrontEndState / EZMMOLobbyPage e GameplayTags UI.Layer.* nativos - UUIActivatableScreen_Base: base de tela (input config, hook de tema, voltar) espelhando o padrao de UUIButton_Base - UUIPrimaryGameLayout_Base: switch principal (4 stacks CommonUI/camada) - UUIManagerSubsystem (LocalPlayer): dono do root layout, idempotente - UUIFrontEndFlowSubsystem (GameInstance): maquina de estados + driver de rede (Boot->Connecting->Login->ServerSelect->Lobby->EnteringWorld ->InWorld); Lobby e o hub logado, paginas internas = EZMMOLobbyPage - UUIFrontEndScreenSet (DataAsset): mapa estado->tela, forge-ready - AZMMOFrontEndGameMode + AZMMOFrontEndPlayerController - GameInstance: bAutoConnectOnStart=false (conexao dirigida pelo fluxo) - Build.cs: +GameplayTags; ARQUITETURA.md PR-first (s2.1/2.2/3.3/4.8/5) - Assets: L_FrontEnd (GameMode via World Settings), WBP_PrimaryGameLayout, DA_FrontEndScreenSet; Config wiring WBPs de pagina (Boot/Login/...) virao do Zeus UMG Forge depois (s4.8). Smoke test PIE OK: root layout no viewport, fluxo Boot->Connecting, no-op+log para telas nao configuradas, sem crash. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
ZMMO — Cliente Unreal Zeus MMO
Cliente Unreal Engine 5.7 do projecto Zeus. Implementa o pipeline "cliente solto + servidor valida input/velocidade" definido em ADR 0038 (landscape autoritativo no cliente; servidor reservado para colisao de objectos).
Arquitectura
Source/ZMMO/Game/Entity/—IZMMOEntityInterface,AZMMOEntity,AZMMOPlayerCharacter(local, CMC livre),AZMMOPlayerProxy(remoto, snapshot-only).Source/ZMMO/Game/Controller/—AZMMOPlayerControllercom Enhanced Input + virtual joystick opcional.Source/ZMMO/Game/Modes/—AZMMOGameModeeUZMMOGameInstance(auto-connect ao servidor Zeus emInit).Source/ZMMO/Game/Network/—UZMMOWorldSubsystem(registryEntityId -> AActor*, dispatch dos delegates doUZeusNetworkSubsystem).
Dependencias
- Unreal Engine 5.7
- Plugin
ZeusNetwork(do projecto servidor, emServer/Plugins/Unreal/) - Plugin
ZeusMapTools(editor-only, opcional)
Smoke test
- Servidor Zeus a correr em
127.0.0.1:27777. - Abrir
ZMMO.uproject, aguardar build do moduloZMMO. - PIE: confirmar
[Zeus] Connected to server 127.0.0.1:27777no Output Log e o spawn do pawn local comEntityIdautoritativo.
Configuracao
bAutoConnectOnStart(defaulttrue) emUZMMOGameInstance. Desligar quando existir UI de login.Config/DefaultEngine.iniapontaGlobalDefaultGameMode=/Script/ZMMO.ZMMOGameMode.
Description
Languages
C++
93.1%
C
5.2%
C#
1%
Python
0.5%
PowerShell
0.2%