/// <summary> /// 负责管理本地控制器与具体游戏之间的槽位分配 /// </summary> public interface IControllerSetuper { /// <summary> /// 设置本地手柄与游戏手柄槽位的映射,这个方法是一个全量更新手柄插入设置的方法 /// </summary> void SetConnect( uint? con0ToSlot = null, uint? con1ToSlot = null, uint? con2ToSlot = null, uint? con3ToSlot = null); /// <summary> /// 指定手柄插槽位,获取当前槽位连接的本地手柄序号 /// </summary> /// <param name="slotIndex"></param> /// <returns></returns> int? GetSlotConnectingControllerIndex(int slotIndex); IController GetSlotConnectingController(int slotIndex); /// <summary> /// 获得一个空的槽位 /// </summary> /// <returns></returns> uint? GetFreeSlotIndex(); /// <summary> /// 增量式的修改一个手柄和一个槽位的连接关系 /// </summary> /// <param name="conIndex"></param> /// <param name="slotIndex"></param> void LetControllerConnect(int conIndex, uint slotIndex); } public interface IController { bool AnyButtonDown(); }