using UnityEngine; namespace BaseGames.UI { /// /// 输入设备图标集 SO(架构 10_UIModule §12)。 /// 存储一套设备(键鼠 or 手柄)所有按键对应的 Sprite。 /// 由 InputDeviceIconSwitcher 根据当前设备选择正确的图标集。 /// [CreateAssetMenu(menuName = "UI/Input Device Icon Set", fileName = "InputDeviceIconSetSO")] public class InputDeviceIconSetSO : ScriptableObject { [System.Serializable] public struct IconEntry { public string BindingPath; // InputSystem binding path,e.g. "/space" public Sprite Icon; } [SerializeField] private IconEntry[] _entries; /// 根据 binding path 查找对应图标;未找到返回 null。 public Sprite GetIcon(string bindingPath) { if (_entries == null) return null; foreach (var entry in _entries) if (entry.BindingPath == bindingPath) return entry.Icon; return null; } } }