using SmartBowSDK; namespace AppUI.Bluetooth { /// /// SmartBow 设备运行时快照(蓝牙 / 红外 / 后续 SDK 扩展位)。 /// 状态字段统一使用 。 /// public struct SmartBowDeviceState { public bool IsHubReady; public BluetoothPlayer ActivePlayer; public SmartBowSDK.BluetoothStatusEnum Status1P; public SmartBowSDK.BluetoothStatusEnum Status2P; public int Battery1P; public int Battery2P; /// 红外屏幕定位是否完成(后续由定位模块写入 Hub)。 public bool IsScreenPositioned; public bool Is1PConnected => Status1P == SmartBowSDK.BluetoothStatusEnum.Connected; public bool Is2PConnected => Status2P == SmartBowSDK.BluetoothStatusEnum.Connected; public bool Is1PConnecting => Status1P == SmartBowSDK.BluetoothStatusEnum.Connecting; public bool Is2PConnecting => Status2P == SmartBowSDK.BluetoothStatusEnum.Connecting; public bool IsPlayerConnected(BluetoothPlayer player) { return player == BluetoothPlayer.SECOND_PLAYER ? Is2PConnected : Is1PConnected; } public bool IsPlayerConnecting(BluetoothPlayer player) { return player == BluetoothPlayer.SECOND_PLAYER ? Is2PConnecting : Is1PConnecting; } public SmartBowSDK.BluetoothStatusEnum GetSdkStatus(BluetoothPlayer player) { return player == BluetoothPlayer.SECOND_PLAYER ? Status2P : Status1P; } public string GetBLE2StatusTextKey(SmartBowSDK.BluetoothStatusEnum status) { string result = "Connect_BLE_NotConnected"; switch (status) { case SmartBowSDK.BluetoothStatusEnum.None: result = "Connect_BLE_NotConnected"; break; case SmartBowSDK.BluetoothStatusEnum.Connecting: result = "Connect_BLE_Connecting"; break; case SmartBowSDK.BluetoothStatusEnum.Connected: result = "Connect_BLE_Connected"; break; } return result; } } }