- 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>
37 lines
1.1 KiB
C++
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;
|
|
};
|