using System; using UnityEngine; namespace BaseGames.UI { /// /// 按键图标服务接口。 /// 根据当前输入设备和玩家实际绑定(含改键),返回对应的按键 Sprite。 /// 通过 ServiceLocator 注册/查找,与 UI 层完全解耦。 /// public interface IInputIconService { /// 当前活跃输入设备类型。 InputDeviceType CurrentDevice { get; } /// /// 查询指定 Action(如 "Interact")在当前设备上的按键图标。 /// 若找不到图标(资源未配置)返回 null。 /// Sprite GetActionIcon(string actionName); /// /// 查询指定 Action 在当前设备上的有效绑定路径(含改键后的路径)。 /// 例如:"<Keyboard>/e"、"<Gamepad>/buttonSouth"。 /// string GetActionEffectivePath(string actionName); /// /// 当设备切换或玩家改键后触发。 /// 订阅此事件的 UI 组件应在回调中刷新图标显示。 /// event Action OnIconSetChanged; } }