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