using Cthangover.Core.UI; using Cthangover.Core.UI.Theming; using Godot; namespace Cthangover.FFBattle.UI { /// /// Battle journal docked to the upper right: a window with a header carrying /// the round counter and a scrollable list of colour-coded rows. The panel is /// a proposal on top of the bare battle screen — it gives damage, shield /// absorption, status and death events a readable history that the original /// FF-style UI lacked. Node structure lives in /// scenes/ff_battle_log_panel.tscn; rows are created at runtime because /// they are data, not layout, and are capped to so a long /// battle cannot grow unbounded. /// public partial class FFBattleLogPanel : ModWidget { private const int MaxRows = 80; private Label _title; private Label _roundLabel; private ScrollContainer _scroll; private VBoxContainer _rows; protected override void Construct() { CthangoverTheme.Apply(this); _title = GetNode