fix(ui): retain compound spellbook button children
Render Type-1 state-propagating child media as the button face so spellbook school and level filters show their authored green Highlight indicator and keep labels at the retail left inset. Lift captions, fonts, and colors from authored text children for framed buttons such as Delete, preventing centered filter labels from being covered by the overlapping delete frame. Co-Authored-By: Codex <noreply@openai.com>
This commit is contained in:
parent
ac2ca8f965
commit
c918ccea06
3 changed files with 113 additions and 9 deletions
|
|
@ -57,6 +57,39 @@ public sealed class SpellbookWindowControllerTests
|
|||
Assert.Empty(closed);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void RetailFixture_BindsFilterIndicatorChildren_AndDeleteCaptionChild()
|
||||
{
|
||||
ImportedLayout layout = LayoutImporter.Build(
|
||||
FixtureLoader.LoadSpellbookInfos(),
|
||||
_ => (0u, 0, 0),
|
||||
datFont: null,
|
||||
stringResolve: value => value.StringId == 164868556u ? "Delete" : "Filter");
|
||||
|
||||
UiButton creature = Assert.IsType<UiButton>(layout.FindElement(0x10000298u));
|
||||
Assert.Equal((0f, 1f, 13f, 13f),
|
||||
(creature.FaceLeft, creature.FaceTop, creature.FaceWidth, creature.FaceHeight));
|
||||
Assert.Equal(UiButton.LabelAlignment.Left, creature.LabelAlign);
|
||||
Assert.Equal(17f, creature.LabelOffsetX);
|
||||
Assert.Equal("Filter", creature.Label);
|
||||
Assert.True(creature.ToggleBehavior);
|
||||
|
||||
creature.Selected = true;
|
||||
Assert.Equal("Highlight", creature.ActiveState);
|
||||
Assert.Equal(UiButtonStateMachine.Highlight, creature.ActiveRetailStateId);
|
||||
|
||||
UiButton levelSix = Assert.IsType<UiButton>(layout.FindElement(0x100002A1u));
|
||||
Assert.Equal(UiButton.LabelAlignment.Left, levelSix.LabelAlign);
|
||||
Assert.Equal(17f, levelSix.LabelOffsetX);
|
||||
|
||||
UiButton delete = Assert.IsType<UiButton>(
|
||||
layout.FindElement(SpellbookWindowController.DeleteButtonId));
|
||||
Assert.Equal("Delete", delete.Label);
|
||||
Assert.Equal(UiButton.LabelAlignment.Center, delete.LabelAlign);
|
||||
Assert.Equal((187f, 61f, 100f, 32f),
|
||||
(delete.Left, delete.Top, delete.FaceWidth, delete.FaceHeight));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void LearnedSpells_AreAuthoredRows_InDisplayOrder_WithSelectionAndDragPayload()
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue