Mateus Rodrigues c9152cd27b feat(ui): Input/Label widgets via FSlateBrush + Lembrar Acesso
- UI_Input_Master refatorado: SizeBox -> Overlay -> Background/Stroke (UImage)
  + EditableTextBox. Cor magenta default eliminada — UImages atrás
  pintam o visual via DT_UI_Styles.
- UI_Label_Master novo: wrapper "label + input" com 2 slots de UI_Input_Master
  (Stacked/Inline). Reaproveita o input puro como composição reutilizável.
- UILabel_Base/UIInput_Base (C++): hierarquia limpa, propagação de Variant/
  HintText/FontSize/PreferredWidth/Height/bIsPassword pai->filho com
  passthrough em 0/vazio (override só quando setado).
- FUIStyleInput*: campos avulsos (BackgroundColor/Texture/DrawAs/Margin)
  trocados por FSlateBrush completo — DT expõe agora Image, ImageSize,
  Matiz, Desenhar como, Ladrilhos, Margin, UV no Designer.
- 11 texturas Hyper copiadas (T_Bar_Gradient_Background_Long + 10 borders)
  e referenciadas em DT_UI_Styles row Default (Backgrounds + Strokes das 4
  variantes Box/Outline/Underline/Search).
- ZMMOThemeSubsystem.Initialize: força chamada de ResolveActiveUIStyle
  mesmo quando ActiveTheme não muda — evita ActiveUIStyle ficar vazio
  quando DefaultThemeAsset é nullptr (sintoma: Brushes não renderizavam
  em PIE/runtime).
- "Lembrar Acesso": UZMMOLoginSaveGame nova (USaveGame com SavedUsername
  + bRememberAccess), load assíncrono em NativeOnActivated, save/delete
  em HandleLoginClicked. Slot "LoginCache" em Saved/SaveGames/. Padrão
  alinhado com jogos comerciais — nunca persiste senha (CWE-256);
  refresh token + DPAPI virão quando auth real entrar.
- WBP_Login: Input_User/Password agora são UI_Label_Master_C; checkbox
  Lembrar bindada por nome (RememberAccess -> UUICheckBox_Base*).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 22:51:44 -03:00
2026-05-07 20:17:53 -03:00

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/AZMMOPlayerController com Enhanced Input + virtual joystick opcional.
  • Source/ZMMO/Game/Modes/AZMMOGameMode e UZMMOGameInstance (auto-connect ao servidor Zeus em Init).
  • Source/ZMMO/Game/Network/UZMMOWorldSubsystem (registry EntityId -> AActor*, dispatch dos delegates do UZeusNetworkSubsystem).

Dependencias

  • Unreal Engine 5.7
  • Plugin ZeusNetwork (do projecto servidor, em Server/Plugins/Unreal/)
  • Plugin ZeusMapTools (editor-only, opcional)

Smoke test

  1. Servidor Zeus a correr em 127.0.0.1:27777.
  2. Abrir ZMMO.uproject, aguardar build do modulo ZMMO.
  3. PIE: confirmar [Zeus] Connected to server 127.0.0.1:27777 no Output Log e o spawn do pawn local com EntityId autoritativo.

Configuracao

  • bAutoConnectOnStart (default true) em UZMMOGameInstance. Desligar quando existir UI de login.
  • Config/DefaultEngine.ini aponta GlobalDefaultGameMode=/Script/ZMMO.ZMMOGameMode.
Description
No description provided
Readme 80 MiB
Languages
C++ 93.1%
C 5.2%
C# 1%
Python 0.5%
PowerShell 0.2%