Files
ZMMO/Source/ZMMO/Game/Modes/ZeusHUD.h
Mateus Rodrigues 6a6a28a086 refactor: prefixo ZMMO -> Zeus em classes/módulos C++ do cliente
- Renomeia ~50 classes UCLASS/USTRUCT/UENUM/UINTERFACE pra Zeus*
  (AZeusGameMode, AZeusCharacter, UZeusGameInstance, IZeusEntityInterface,
  UZeusWorldSubsystem, FZeusEntitySnapshot, etc.)
- Encurta AZMMOPlayerCharacter -> AZeusCharacter
- Renomeia módulos satélite ZMMOAttributes -> ZeusAttributes e
  ZMMOJobs -> ZeusJobs (pasta + .Build.cs + .uproject)
- Mantém módulo principal ZMMO (renomeia depois quando jogo ganhar nome)
- DefaultEngine.ini: ActiveClassRedirects ZMMOX -> ZeusX (preserva BPs/assets)
- DefaultGame.ini: sections atualizadas pra ZeusThemeSubsystem/ZeusPlayerState
- Category="ZMMO|..." -> "Zeus|..." em UPROPERTYs
- Preserva LogZMMO, ZMMO_API, /Script/ZMMO., /Game/ZMMO/, classes Target

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-02 17:24:38 -03:00

37 lines
1.1 KiB
C++

#pragma once
#include "CoreMinimal.h"
#include "GameFramework/HUD.h"
#include "ZeusHUD.generated.h"
/**
* HUD do MMO. Pattern UE5 idiomatico: o GameMode atribui `HUDClass`, o
* engine cria 1 instancia por PlayerController automaticamente.
*
* Responsabilidade unica: orquestrar o lifecycle da UI in-game. Em
* BeginPlay, pede ao `UUIInGameFlowSubsystem` pra entrar em `Playing`
* (que pushea WBP_HUD em UI.Layer.Game). Em EndPlay/destrucao, o flow
* subsystem cuida do cleanup.
*
* Separacao de responsabilidades:
* - AZeusCharacter (Pawn) — movimento, input, AttributeComponent
* - AZeusPlayerController — input mapping, mouse
* - AZeusHUD — UI lifecycle
* - AZeusGameMode — wires tudo via class slots
*
* NAO desenha nada via canvas (AHUD::DrawHUD). UI inteira vive em UMG +
* CommonUI (UI.Layer.Game / GameMenu / Modal).
*/
UCLASS()
class ZMMO_API AZeusHUD : public AHUD
{
GENERATED_BODY()
public:
AZeusHUD();
protected:
virtual void BeginPlay() override;
virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override;
};