SmartBowDeviceState.cs 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. using SmartBowSDK;
  2. namespace AppUI.Bluetooth
  3. {
  4. /// <summary>
  5. /// SmartBow 设备运行时快照(蓝牙 / 红外 / 后续 SDK 扩展位)。
  6. /// 状态字段统一使用 <see cref="SmartBowSDK.BluetoothStatusEnum"/>。
  7. /// </summary>
  8. public struct SmartBowDeviceState
  9. {
  10. public bool IsHubReady;
  11. public BluetoothPlayer ActivePlayer;
  12. public SmartBowSDK.BluetoothStatusEnum Status1P;
  13. public SmartBowSDK.BluetoothStatusEnum Status2P;
  14. public int Battery1P;
  15. public int Battery2P;
  16. /// <summary>红外屏幕定位是否完成(后续由定位模块写入 Hub)。</summary>
  17. public bool IsScreenPositioned;
  18. public bool Is1PConnected => Status1P == SmartBowSDK.BluetoothStatusEnum.Connected;
  19. public bool Is2PConnected => Status2P == SmartBowSDK.BluetoothStatusEnum.Connected;
  20. public bool Is1PConnecting => Status1P == SmartBowSDK.BluetoothStatusEnum.Connecting;
  21. public bool Is2PConnecting => Status2P == SmartBowSDK.BluetoothStatusEnum.Connecting;
  22. public bool IsPlayerConnected(BluetoothPlayer player)
  23. {
  24. return player == BluetoothPlayer.SECOND_PLAYER ? Is2PConnected : Is1PConnected;
  25. }
  26. public bool IsPlayerConnecting(BluetoothPlayer player)
  27. {
  28. return player == BluetoothPlayer.SECOND_PLAYER ? Is2PConnecting : Is1PConnecting;
  29. }
  30. public SmartBowSDK.BluetoothStatusEnum GetSdkStatus(BluetoothPlayer player)
  31. {
  32. return player == BluetoothPlayer.SECOND_PLAYER ? Status2P : Status1P;
  33. }
  34. public string GetBLE2StatusTextKey(SmartBowSDK.BluetoothStatusEnum status)
  35. {
  36. string result = "Connect_BLE_NotConnected";
  37. switch (status)
  38. {
  39. case SmartBowSDK.BluetoothStatusEnum.None:
  40. result = "Connect_BLE_NotConnected";
  41. break;
  42. case SmartBowSDK.BluetoothStatusEnum.Connecting:
  43. result = "Connect_BLE_Connecting";
  44. break;
  45. case SmartBowSDK.BluetoothStatusEnum.Connected:
  46. result = "Connect_BLE_Connected";
  47. break;
  48. }
  49. return result;
  50. }
  51. }
  52. }