From 5a8dd796de20c3ec0d577bb25473ae0ed101a84d Mon Sep 17 00:00:00 2001 From: Mateus Rodrigues Date: Mon, 18 May 2026 22:42:22 -0300 Subject: [PATCH] fix(ui): defaults reais de cor das variantes do botao (Aurora Arcana) FUIStyleButton ganha construtor que preenche Primary/Secondary/Danger/Ghost com as cores do styles.css (.btn-*). Antes as variantes vinham Transparent/White (placeholder) -> botao saia branco no designer (sem GameInstance usa defaults do struct). Agora ja sai estilizado (Primary=dourado, texto ~#0A0A12) mesmo sem DataTable. Co-Authored-By: Claude Opus 4.7 (1M context) --- Source/ZMMO/Data/UI/UIStyleTokens.h | 40 +++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/Source/ZMMO/Data/UI/UIStyleTokens.h b/Source/ZMMO/Data/UI/UIStyleTokens.h index 67e57cd..97e5505 100644 --- a/Source/ZMMO/Data/UI/UIStyleTokens.h +++ b/Source/ZMMO/Data/UI/UIStyleTokens.h @@ -200,6 +200,46 @@ struct ZMMO_API FUIStyleButton { GENERATED_BODY() + /** + * Defaults = paleta Aurora Arcana (styles.css .btn-*). Garante que mesmo + * sem DataTable (preview de designer) o botão já saia estilizado. + */ + FUIStyleButton() + { + // .btn-primary — dourado, texto quase preto + Primary.BgNormal = FLinearColor(FColor(201, 167, 90)); // gold + Primary.BgHover = FLinearColor(FColor(231, 200, 115)); // gold-hi + Primary.BgPressed = FLinearColor(FColor(201, 167, 90)); + Primary.BgDisabled = FLinearColor(FColor(201, 167, 90, 107)); + Primary.BorderNormal = FLinearColor(FColor(201, 167, 90)); + Primary.BorderHover = FLinearColor(FColor(231, 200, 115)); + Primary.TextColor = FLinearColor(FColor(10, 10, 18)); // ~#0A0A12 + + // .btn-secondary — painel sólido + borda + Secondary.BgNormal = FLinearColor(FColor(17, 24, 42)); // panel-2 + Secondary.BgHover = FLinearColor(FColor(22, 32, 58)); // #16203A + Secondary.BgPressed = FLinearColor(FColor(17, 24, 42)); + Secondary.BorderNormal = FLinearColor(FColor(58, 75, 120)); // border + Secondary.BorderHover = FLinearColor(FColor(78, 163, 255)); // blue + Secondary.TextColor = FLinearColor(FColor(244, 240, 230));// text + + // .btn-danger + Danger.BgNormal = FLinearColor(FColor(217, 92, 92, 36)); // rgba(.14) + Danger.BgHover = FLinearColor(FColor(217, 92, 92, 66)); // rgba(.26) + Danger.BgPressed = FLinearColor(FColor(217, 92, 92, 36)); + Danger.BorderNormal = FLinearColor(FColor(217, 92, 92)); // danger + Danger.BorderHover = FLinearColor(FColor(217, 92, 92)); + Danger.TextColor = FLinearColor(FColor(240, 182, 182)); // #F0B6B6 + + // .btn-ghost — transparente + borda suave + Ghost.BgNormal = FLinearColor::Transparent; + Ghost.BgHover = FLinearColor(FColor(22, 32, 58, 128)); + Ghost.BgPressed = FLinearColor::Transparent; + Ghost.BorderNormal = FLinearColor(FColor(58, 75, 120, 140)); // border-soft + Ghost.BorderHover = FLinearColor(FColor(78, 163, 255)); + Ghost.TextColor = FLinearColor(FColor(174, 182, 200)); // text-2 + } + // .btn-primary — dourado, texto quase preto UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "UI Style|Button") FUIStyleButtonVariant Primary;