using System; using System.Collections.Generic; using UniRx; using UniRx.Triggers; using TMPro; using UnityEngine; using UnityEngine.Events; using UnityEngine.EventSystems; using UnityEngine.InputSystem.UI; using UnityEngine.UI; // The New Game screen: scenario names on the left pane by group, the selected scenario's brief, seed and ambient on a // docked right pane, one Launch. This class owns which scenario is selected (one index into the rows it built); // everything the screen shows about a scenario, and what Launch and Enter launch, reads that index. Keys arrive only as // Input System UI events on the focused Launch button, so Enter and a mouse click are the same Button.onClick. public sealed class ScenarioPicker { private readonly List _scenarios = new List(); private readonly List _groupLabels = new List(); private readonly List