using System; using System.Collections.Generic; using KernelPanic.Data; using UnityEngine; using UnityEngine.TextCore.Text; using UnityEngine.UIElements; namespace KernelPanic.UI { /// /// Renders the main menu's neofetch-style featured unit panel. /// [Serializable] public sealed class FeaturedUnitPanel { private const string EmptyAccent = "5cff91"; private VisualElement panel; private Label titleLabel; private Label asciiLabel; private VisualElement asciiPlaceholder; private Label unitNameLabel; private Label languagesLabel; private Label passiveLabel; private Label bestWaveLabel; private Label emptyTitleLabel; private Label emptyHintLabel; private VisualElement populatedState; private VisualElement emptyState; private FontAsset monospaceFont; private AsciiArtFitter asciiFitter; private IReadOnlyList units = Array.Empty(); private int selectedIndex; public void Bind(VisualElement root, FontAsset artFont) { monospaceFont = artFont; panel = root.Q("FeaturedUnitPanel"); titleLabel = root.Q