7fa10b4cb9fd3badb17d8345bb6db8b1286897c1
- UIFrontEndFlowSubsystem: HandlePostLoadMap/HandlePlayerSpawned agora registram o StepId em PendingLoadingSteps_ quando ActiveLoadingScreen ainda eh null (race com RequestAsyncLoad do WBP_Loading). Lambda do callback async drena o set apos criar a tela, fechando o loading retroativamente. Servidor rapido (TryFinalizeEnterWorld) deixava o cliente preso em "entrando no mundo" quando o async load atrasava. - UIPlayerStatus_Window: herda de UIDraggableWindow_Base (drag + persist via UZMMOUISaveGame). Rename CloseBtn -> Button_Close, adiciona Background_Panel/Container_Header/Container_Stats, NativeOnKeyDown (Alt+A fecha), NativeGetDesiredFocusTarget=self. Remove bIsBackHandler pra parar o "Cannot create action binding" no log (projeto nao tem DefaultBackAction no CommonUISettings). - UIInGameFlowSubsystem.SetState: skip re-push do HUD quando voltando de StatusWindow/Inventory/Menu pro Playing (Old != None && != Playing) pra evitar Construct novo do HUD e o flicker dos textos HP/SP. - Novos: UIDraggableWindow_Base (drag generico + persistencia) e UIWindowSaveGame (TMap<FName, FVector2D> por WindowId). 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%