IEnumerator GetBatteryLevelCr(System.Action <Die, float?> outLevelAction) { yield return(StartCoroutine(SendMessageWithAckOrTimeoutCr( new DieMessageRequestBatteryLevel(), DieMessageType.BatteryLevel, 5.0f, (msg) => { var lvlMsg = (DieMessageBatteryLevel)msg; batteryLevel = lvlMsg.level; charging = lvlMsg.charging != 0; OnBatteryLevelChanged?.Invoke(this, lvlMsg.level, lvlMsg.charging != 0); outLevelAction?.Invoke(this, lvlMsg.level); }, () => { outLevelAction?.Invoke(this, null); }, () => { outLevelAction?.Invoke(this, null); }))); }
public void BatteryLevelChanged(double value) { OnBatteryLevelChanged?.Invoke(value); }