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>
23 lines
597 B
C++
23 lines
597 B
C++
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "GameFramework/GameModeBase.h"
|
|
#include "ZMMOFrontEndGameMode.generated.h"
|
|
|
|
/**
|
|
* AZMMOFrontEndGameMode
|
|
*
|
|
* GameMode do mapa de front-end (L_FrontEnd): só UI, sem pawn nem network
|
|
* play. NÃO é o GameMode global (esse continua AZMMOGameMode para mapas de
|
|
* mundo) — aplicado via override no World Settings de L_FrontEnd
|
|
* (ARQUITETURA.md §3.3 / decisão de mapa dedicado).
|
|
*/
|
|
UCLASS(Blueprintable, BlueprintType)
|
|
class ZMMO_API AZMMOFrontEndGameMode : public AGameModeBase
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
public:
|
|
AZMMOFrontEndGameMode();
|
|
};
|