| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEngine.UI;
- using UnityEngine.SceneManagement;
- /* 设备的电池显示界面(右上角) */
- public class DeviceBatteryView : MonoBehaviour
- {
- public static DeviceBatteryView ins;
- public Text labelTemperature;
- public int batteryValue;
- public int batteryDeviceID;
- 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;
- if (!activeBow) {
- this.transform.Find("Layout/Label1").gameObject.SetActive(false);
- this.transform.Find("Layout/Frame1").gameObject.SetActive(false);
- }
- if (!activeArrow) {
- this.transform.Find("Layout/Label2").gameObject.SetActive(false);
- this.transform.Find("Layout/Frame2").gameObject.SetActive(false);
- }
- }
- }
- void RequestBatteryForBow()
- {
- try {
- if (BluetoothAim.ins.hasData && JCUnityLib.TimeUtils.GetTimestamp() - BluetoothAim.ins.hasDataTime > 5000) {
- BluetoothAim.ins.RequestBattery();
- }
- } catch (Exception) {}
- }
- void RequestBatteryForArrow()
- {
- try {
- if (BluetoothShoot.ins.hasData) {
- BluetoothShoot.ins.WriteData("B");
- }
- } catch (Exception) {}
- }
- public void RenderBattery(int deviceID, int value)
- {
- batteryDeviceID = deviceID;
- batteryValue = value;
- //bool active = true;
- //if (value <= 1) active = false;
- //Image img = this.transform.Find($"Layout/Frame{deviceID}/Bar").GetComponent<Image>();
- //Text txt = this.transform.Find($"Layout/Frame{deviceID}/Value").GetComponent<Text>();
- //this.transform.Find($"Layout/Label{deviceID}").gameObject.SetActive(active);
- //img.transform.parent.gameObject.SetActive(active);
- //img.fillAmount = value / 100f;
- //txt.text = value + "%";
- }
- }
|