using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class DeviceBatteryView : MonoBehaviour { public static DeviceBatteryView ins; void Start() { if (ins) { Destroy(this.gameObject); } else { ins = this; DontDestroyOnLoad(this.gameObject); } } float countingTime1 = 0; float countingTime2 = 1; void Update() { if (countingTime1 < 5) { countingTime1 += Time.deltaTime; } else { countingTime1 = 0; RequestBatteryForBow(); RequestBatteryForArrow(); } if (countingTime2 < 1) { countingTime2 += Time.deltaTime; } else { countingTime2 = 0; bool activeBow = BluetoothAim.ins && BluetoothAim.ins.status == BluetoothStatusEnum.ConnectSuccess; bool activeArrow = BluetoothShoot.ins && BluetoothShoot.ins.status == BluetoothStatusEnum.ConnectSuccess; this.transform.Find("Layout/Label1").gameObject.SetActive(activeBow); this.transform.Find("Layout/Frame1").gameObject.SetActive(activeBow); this.transform.Find("Layout/Label2").gameObject.SetActive(activeArrow); this.transform.Find("Layout/Frame2").gameObject.SetActive(activeArrow); } } void RequestBatteryForBow() { try { if (BluetoothAim.ins.hasData) { BluetoothAim.ins.WriteData("B"); } } catch (Exception) {} } void RequestBatteryForArrow() { try { if (BluetoothShoot.ins.hasData) { BluetoothShoot.ins.WriteData("B"); } } catch (Exception) {} } public void RenderBattery(int deviceID, float value) { Image img = this.transform.Find($"Layout/Frame{deviceID}/Bar").GetComponent(); Text txt =this.transform.Find($"Layout/Frame{deviceID}/Value").GetComponent(); img.fillAmount = value / 100f; txt.text = ((int) value) + "%"; } }