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