| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245 |
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEngine.UI;
- //using UnityEngine.UIElements;
- public class SmartBowManager : MonoBehaviour
- {
- [SerializeField] private Sprite Tick_texture;
- [SerializeField] private Sprite Cross_texture;
- [SerializeField] private Button SmartBow_btn;
- [SerializeField] private Button Connect_btn;
- [SerializeField] private Button CalibrateGyr_btn;
- [SerializeField] private Button CalibrateMag_btn;
- [SerializeField] private Image SmartBowStatus_img;
- [SerializeField] private Image ConnectionStatus_img;
- [SerializeField] private Image GyrStatus_img;
- [SerializeField] private Image MagStatus_img;
- [SerializeField] private GameObject SubMenuContainer;
- //[SerializeField] private Text testInfo;
- private bool bSmartBowMenuActive;
- //private int BowConnectionStatus = 0; // 0 - not connected, 1 - connecting, 2 - connected
- //private bool bCalibratingGyr = false;
- //private bool bCalibratingMag = false;
- //public delegate void SmartBowConnectionLostDelegate();
- //public event SmartBowConnectionLostDelegate OnConnectionLost;
- void Awake()
- {
-
- }
- // Start is called before the first frame update
- void Start()
- {
- //SmartBowHelper.GetInstance().OnBluetoothError += BluetoothError;
- //SmartBow_btn.onClick.AddListener(ToggleSmartBowMenu);
- //CalibrateGyr_btn.onClick.AddListener(CalibrateGyr);
- //CalibrateMag_btn.onClick.AddListener(CalibrateMag);
- //SmartBowHelper.GetInstance().OnBluetoothStatusChanged += OnBluetoothStatusChanged;
- //SmartBowHelper.GetInstance().OnBluetoothModuleInited += OnSmartBowBluetoothInit;
-
- //SmartBowHelper.GetInstance().OnFunctionKeyPress += ResetAim;
- //ToggleSmartBowMenu(false);
- //UpdateBowStatus();
- }
- // Update is called once per frame
- void Update()
- {
- //if (bCalibratingGyr && SmartBowHelper.GetInstance().IsGyrCompleted())
- //{
- // bCalibratingGyr = false;
- // UpdateBowStatus();
- //}
- //if (bCalibratingMag && SmartBowHelper.GetInstance().IsMagCompleted())
- //{
- // bCalibratingMag = false;
- // UpdateBowStatus();
- //}
- }
- //private void OnBluetoothStatusChanged(BluetoothStatusEnum oldStatus, BluetoothStatusEnum newStatus)
- //{
- // if (newStatus == BluetoothStatusEnum.Connected)
- // {
- // BowConnectionStatus = 2;
- // }
- // else if (newStatus == BluetoothStatusEnum.Connecting)
- // {
- // BowConnectionStatus = 1;
- // }
- // else // None
- // {
- // BowConnectionStatus = 0;
- // if (oldStatus == BluetoothStatusEnum.Connected)
- // {
- // OnConnectionLost.Invoke();
- // if (!bSmartBowMenuActive)
- // {
- // ToggleSmartBowMenu(true);
- // }
- // }
- // }
- // UpdateBowStatus();
- //}
- //private void ConnectBow()
- //{
- // SmartBowHelper.GetInstance().Connect();
- //}
- //private void DisconnectBow()
- //{
- // SmartBowHelper.GetInstance().Disconnect();
- //}
- //private void CalibrateGyr()
- //{
- // SmartBowHelper.GetInstance().StartGyrCalibration();
- // bCalibratingGyr = true;
- // UpdateBowStatus();
- //}
- //private void CalibrateMag()
- //{
- // SmartBowHelper.GetInstance().StartMagCalibration();
- // bCalibratingMag = true;
- // UpdateBowStatus();
- //}
- //private void OnSmartBowBluetoothInit()
- //{
- // SmartBowHelper.GetInstance().StartRotationSensor();
- // SmartBowHelper.GetInstance().StartShootingSensor();
- // UpdateBowStatus();
- //}
- private void ToggleSmartBowMenu(bool b)
- {
- bSmartBowMenuActive = b;
- SubMenuContainer.SetActive(bSmartBowMenuActive);
- //Connect_btn.gameObject.SetActive(bSmartBowMenuActive);
- //CalibrateGyr_btn.gameObject.SetActive(bSmartBowMenuActive);
- //CalibrateMag_btn.gameObject.SetActive(bSmartBowMenuActive);
- //ConnectionStatus_img.gameObject.SetActive(bSmartBowMenuActive);
- //GyrStatus_img.gameObject.SetActive(bSmartBowMenuActive);
- //MagStatus_img.gameObject.SetActive(bSmartBowMenuActive);
- }
- private void ToggleSmartBowMenu()
- {
- bSmartBowMenuActive = !bSmartBowMenuActive;
- SubMenuContainer.SetActive(bSmartBowMenuActive);
- //Connect_btn.gameObject.SetActive(bSmartBowMenuActive);
- //CalibrateGyr_btn.gameObject.SetActive(bSmartBowMenuActive);
- //CalibrateMag_btn.gameObject.SetActive(bSmartBowMenuActive);
- //ConnectionStatus_img.gameObject.SetActive(bSmartBowMenuActive);
- //GyrStatus_img.gameObject.SetActive(bSmartBowMenuActive);
- //MagStatus_img.gameObject.SetActive(bSmartBowMenuActive);
- }
- //private void UpdateBowStatus()
- //{
- // Connect_btn.onClick.RemoveAllListeners();
- // if (BowConnectionStatus == 0)
- // {
- // // update connect button
- // Connect_btn.interactable = true;
- // Connect_btn.gameObject.GetComponentInChildren<Text>().text = "Connect";
- // Connect_btn.onClick.AddListener(ConnectBow);
- // ConnectionStatus_img.sprite = Cross_texture;
- // // update gyr button
- // CalibrateGyr_btn.interactable = false;
- // CalibrateGyr_btn.gameObject.GetComponentInChildren<Text>().text = "Calibrate Gyr";
- // GyrStatus_img.sprite = Cross_texture;
- // // update mag button
- // CalibrateMag_btn.interactable = false;
- // CalibrateMag_btn.gameObject.GetComponentInChildren<Text>().text = "Calibrate Mag";
- // ConnectionStatus_img.sprite = Cross_texture;
- // MagStatus_img.sprite = Cross_texture;
- // SmartBowStatus_img.sprite = Cross_texture;
- // }
- // else if (BowConnectionStatus == 1)
- // {
- // // update connect button
- // Connect_btn.interactable = false;
- // Connect_btn.gameObject.GetComponentInChildren<Text>().text = "Connecting";
- // ConnectionStatus_img.sprite = Cross_texture;
- // // update gyr button
- // CalibrateGyr_btn.interactable = false;
- // CalibrateGyr_btn.gameObject.GetComponentInChildren<Text>().text = "Calibrate Gyr";
- // GyrStatus_img.sprite = Cross_texture;
- // // update mag button
- // CalibrateMag_btn.interactable = false;
- // CalibrateMag_btn.gameObject.GetComponentInChildren<Text>().text = "Calibrate Mag";
- // ConnectionStatus_img.sprite = Cross_texture;
- // MagStatus_img.sprite = Cross_texture;
- // SmartBowStatus_img.sprite = Cross_texture;
- // }
- // else // BowConnectionStatus == 2
- // {
- // bool bGyrCalibrated = false;
- // bool bMagCalibrated = false;
- // // update connect button
- // Connect_btn.interactable = true;
- // Connect_btn.gameObject.GetComponentInChildren<Text>().text = "Disconnect";
- // Connect_btn.onClick.AddListener(DisconnectBow);
- // ConnectionStatus_img.sprite = Tick_texture;
- // // update gyr
- // if (bCalibratingGyr)
- // {
- // CalibrateGyr_btn.interactable = false;
- // CalibrateGyr_btn.gameObject.GetComponentInChildren<Text>().text = "Calibrating Gyr...";
- // GyrStatus_img.sprite = Cross_texture;
- // }
- // else
- // {
- // CalibrateGyr_btn.interactable = true;
- // CalibrateGyr_btn.gameObject.GetComponentInChildren<Text>().text = "Calibrate Gyr";
- // GyrStatus_img.sprite = SmartBowHelper.GetInstance().IsGyrCompleted() ? Tick_texture : Cross_texture;
- // bGyrCalibrated = SmartBowHelper.GetInstance().IsGyrCompleted();
- // }
- // // update mag
- // if (bCalibratingMag)
- // {
- // CalibrateMag_btn.interactable = false;
- // CalibrateMag_btn.gameObject.GetComponentInChildren<Text>().text = "Calibrating Mag...";
- // MagStatus_img.sprite = Cross_texture;
- // }
- // else
- // {
- // CalibrateMag_btn.interactable = true;
- // CalibrateMag_btn.gameObject.GetComponentInChildren<Text>().text = "Calibrate Mag";
- // MagStatus_img.sprite = SmartBowHelper.GetInstance().IsMagCompleted() ? Tick_texture : Cross_texture;
- // bMagCalibrated = SmartBowHelper.GetInstance().IsMagCompleted();
- // }
- // SmartBowStatus_img.sprite = (bGyrCalibrated && bMagCalibrated) ? Tick_texture : Cross_texture;
- // }
- //}
- //public bool IsSmartBowConnected()
- //{
- // return (BowConnectionStatus == 2);
- //}
- public void ResetAim()
- {
- JCFruitMaster.ins.ResetAim();
- }
- //private void BluetoothError(BluetoothError error, string message)
- //{
- // //testInfo.text = message;
- //}
- }
|