using Assets.Scripts.Ble; using Assets.Scripts.Devices.Ble.Interfaces; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using UnityEngine; namespace Assets.Scripts.Devices.Ble.Characteristic { public class BatteryLevel : ICharacteristic { public Guid Uuid => ServiceUuids.Characteristics.BatteryLevel; public Guid ServiceUuid => ServiceUuids.Get(ServiceUuids.Battery).IdGuid; private ICharacteristic _characteristicUnavailable = null; public ICharacteristic CharacteristicUnavailable { get { return this._characteristicUnavailable; } } public virtual bool IsOptional { get { return true; } } public int BatteryLevelValue { get; private set; } public void HandleAttributeReceived(byte[] data) { if(data.Length < 1) { return; } BatteryLevelValue = (int)data[0]; //Debug.Log($"电量:{ BatteryLevelValue }"); } public void SetUnavailable() { this._characteristicUnavailable = this; } } }