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();
}
}