From 484c8d5d4fdc90d6ea8dabbf19ac496e53164845 Mon Sep 17 00:00:00 2001 From: Mateus Rodrigues Date: Thu, 28 May 2026 03:06:44 -0300 Subject: [PATCH] feat(ui/hud): readouts HP/SP + level multi-cor via RichText (DT_UI_VitalsReadout) Readouts e LvlText do PlayerVitals viram RichTextBlock com markup inline, estilizados pelo DT_UI_VitalsReadout (fonte JetBrains Mono Bold): - HP/SP: atual (branco) + "/" (sep, #3a3830) + max (#6c6860) - LVL: "LVL " (#b8b3a8) + numero (num, gold-bright #ffd888, maior) Cores espelham hud_layout_modal_New.html (text-1/2/3/4 + gold-bright). UZMMOHudPlayerVitalsWidget: HpReadout/SpReadout/ExpReadout/JobReadout/LvlText agora URichTextBlock; ApplyHpSp/ApplySnapshot montam o markup. EXP/JOB readout segue exp absoluto (sem %) ate o server enviar exp-to-next. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../ZMMO/Data/UI/DT_UI_VitalsReadout.uasset | Bin 0 -> 36398 bytes .../ZMMO/UI/HUD/WBP_PlayerVitalsPanel.uasset | Bin 100895 -> 100268 bytes .../UI/InGame/ZMMOHudPlayerVitalsWidget.cpp | 24 +++++++++++------- .../UI/InGame/ZMMOHudPlayerVitalsWidget.h | 11 ++++---- 4 files changed, 21 insertions(+), 14 deletions(-) create mode 100644 Content/ZMMO/Data/UI/DT_UI_VitalsReadout.uasset diff --git a/Content/ZMMO/Data/UI/DT_UI_VitalsReadout.uasset b/Content/ZMMO/Data/UI/DT_UI_VitalsReadout.uasset new file mode 100644 index 0000000000000000000000000000000000000000..9217745a365b976c555664df4ddfa8066b0a748d GIT binary patch literal 36398 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 Ho*^4 literal 0 HcmV?d00001 diff --git a/Content/ZMMO/UI/HUD/WBP_PlayerVitalsPanel.uasset b/Content/ZMMO/UI/HUD/WBP_PlayerVitalsPanel.uasset index 9a358107ffb5febb7f5d0108ad649e4748a6705c..98cde251d462a56039b7b53d8d8723f26a3a6761 100644 GIT binary patch literal 100268 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 G>i<6h>+?zg literal 100895 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 JK&<&u|9|fNk){9u diff --git a/Source/ZMMO/Game/UI/InGame/ZMMOHudPlayerVitalsWidget.cpp b/Source/ZMMO/Game/UI/InGame/ZMMOHudPlayerVitalsWidget.cpp index 8cdfa0c..872f4ca 100644 --- a/Source/ZMMO/Game/UI/InGame/ZMMOHudPlayerVitalsWidget.cpp +++ b/Source/ZMMO/Game/UI/InGame/ZMMOHudPlayerVitalsWidget.cpp @@ -1,5 +1,6 @@ #include "ZMMOHudPlayerVitalsWidget.h" +#include "Components/RichTextBlock.h" #include "Components/TextBlock.h" #include "UI/Widgets/UIProgressBar_Base.h" #include "Internationalization/Text.h" @@ -25,14 +26,16 @@ void UZMMOHudPlayerVitalsWidget::ApplySnapshot(const FZMMOAttributesSnapshot& Sn // HP / SP (pool efetivo — % real) ApplyHpSp(Snapshot.Hp, Snapshot.MaxHp, Snapshot.Sp, Snapshot.MaxSp); - // Level + // Level — markup: "LVL " (pct/cinza) + número (num/gold-bright maior) if (LvlText) { - LvlText->SetText(FText::FromString(FString::Printf(TEXT("LVL %d"), Snapshot.BaseLevel))); + LvlText->SetText(FText::FromString( + FString::Printf(TEXT("LVL %d"), Snapshot.BaseLevel))); } // BASE / JOB EXP — sem "exp-to-next" no snapshot. Readout mostra valor - // absoluto acumulado; as barras ficam pra quando a curva de exp existir. + // absoluto acumulado (estilo Default, sem markup de %); as barras + o "%" + // ficam pra quando a curva de exp existir no snapshot do servidor. if (ExpReadout) { ExpReadout->SetText(FormatNumber(Snapshot.BaseExp)); @@ -60,17 +63,20 @@ void UZMMOHudPlayerVitalsWidget::ApplyHpSp(int32 Hp, int32 MaxHp, int32 Sp, int3 { SpBar->SetTargetPrimaryLevel(SafeRatio(Sp, MaxSp)); } + // Markup RichText: atual (Default/branco) + "/" (sep/escuro) + max (max/cinza). + // Tags resolvem no DT_UI_VitalsReadout (TextStyleSet do RichTextBlock). + auto MakeReadout = [](int32 Cur, int32 Max) -> FText + { + return FText::FromString(FString::Printf(TEXT("%s/%s"), + *FText::AsNumber(Cur).ToString(), *FText::AsNumber(Max).ToString())); + }; if (HpReadout) { - HpReadout->SetText(FText::Format( - NSLOCTEXT("ZMMOHud", "HpSpReadout", "{0}/{1}"), - FormatNumber(Hp), FormatNumber(MaxHp))); + HpReadout->SetText(MakeReadout(Hp, MaxHp)); } if (SpReadout) { - SpReadout->SetText(FText::Format( - NSLOCTEXT("ZMMOHud", "HpSpReadout", "{0}/{1}"), - FormatNumber(Sp), FormatNumber(MaxSp))); + SpReadout->SetText(MakeReadout(Sp, MaxSp)); } } diff --git a/Source/ZMMO/Game/UI/InGame/ZMMOHudPlayerVitalsWidget.h b/Source/ZMMO/Game/UI/InGame/ZMMOHudPlayerVitalsWidget.h index 78f1887..471197b 100644 --- a/Source/ZMMO/Game/UI/InGame/ZMMOHudPlayerVitalsWidget.h +++ b/Source/ZMMO/Game/UI/InGame/ZMMOHudPlayerVitalsWidget.h @@ -7,6 +7,7 @@ class UUIProgressBar_Base; class UTextBlock; +class URichTextBlock; /** * Sub-widget do HUD: painel de vitais do player (portrait + nome/job/level + @@ -71,19 +72,19 @@ protected: TObjectPtr ClassText; UPROPERTY(BlueprintReadOnly, meta = (BindWidgetOptional), Category = "Zeus|HUD") - TObjectPtr LvlText; + TObjectPtr LvlText; UPROPERTY(BlueprintReadOnly, meta = (BindWidgetOptional), Category = "Zeus|HUD") - TObjectPtr HpReadout; + TObjectPtr HpReadout; UPROPERTY(BlueprintReadOnly, meta = (BindWidgetOptional), Category = "Zeus|HUD") - TObjectPtr SpReadout; + TObjectPtr SpReadout; UPROPERTY(BlueprintReadOnly, meta = (BindWidgetOptional), Category = "Zeus|HUD") - TObjectPtr ExpReadout; + TObjectPtr ExpReadout; UPROPERTY(BlueprintReadOnly, meta = (BindWidgetOptional), Category = "Zeus|HUD") - TObjectPtr JobReadout; + TObjectPtr JobReadout; private: /** Último snapshot recebido (cache pra ApplyHpSp manter MaxHp/MaxSp). */