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) <noreply@anthropic.com>
This commit is contained in:
2026-05-18 22:42:22 -03:00
parent f8f00f9b9d
commit 5a8dd796de

View File

@@ -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;