using UnityEngine; using BaseGames.Input; namespace BaseGames.World.Map { /// /// 小地图 HUD 输入处理器(R13-N3)。 /// 挂在与 MinimapHUD 相同的 GameObject 上,负责将 InputReaderSO 事件路由到 MinimapHUD。 /// /// CycleMinimapZoomEvent → MinimapHUD.CycleZoom()(循环切换视野半径档位) /// /// 输入动作在 InputActionAsset 的 UI Map 中命名为 "CycleMinimapZoom"; /// 若动作不存在,InputReaderSO 会打印 Warning 并安全跳过,不影响运行。 /// [RequireComponent(typeof(MinimapHUD))] public class MinimapInputHandler : MonoBehaviour { [SerializeField] private InputReaderSO _inputReader; private MinimapHUD _hud; private void Awake() => _hud = GetComponent(); private void OnEnable() { if (_inputReader != null) _inputReader.CycleMinimapZoomEvent += OnCycleZoom; } private void OnDisable() { if (_inputReader != null) _inputReader.CycleMinimapZoomEvent -= OnCycleZoom; } private void OnCycleZoom() => _hud?.CycleZoom(); } }