BluetoothHolder.cs 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. /*蓝牙持有者,算是蓝牙模块的管理者,内含调试界面 */
  6. public class BluetoothHolder : MonoBehaviour
  7. {
  8. bool debug = false;
  9. GameObject magEllipse;
  10. HashSet<Object> magEllipseViewers = new HashSet<Object>();
  11. public static BluetoothHolder ins;
  12. public static void Init()
  13. {
  14. if (!BluetoothHolder.ins) {
  15. GameObject bluetoothHolder = Resources.Load<GameObject>("Prefabs/BluetoothHolder");
  16. GameObject.Instantiate(bluetoothHolder);
  17. }
  18. }
  19. void Awake()
  20. {
  21. if (ins)
  22. {
  23. Destroy(this.gameObject);
  24. } else {
  25. ins = this;
  26. DontDestroyOnLoad(this.gameObject);
  27. }
  28. }
  29. void Start() {
  30. magEllipse = this.transform.Find("test-ellipse").gameObject;
  31. if (!debug) {
  32. this.transform.Find("CanvasForOpenDebug").gameObject.SetActive(false);
  33. }
  34. CloseDebug();
  35. // transform.Find("Objects").gameObject.SetActive(true);
  36. }
  37. public void ShowMagEllipse(Object viewer)
  38. {
  39. magEllipseViewers.Add(viewer);
  40. if (magEllipseViewers.Count == 1) magEllipse.SetActive(true);
  41. }
  42. public void HideMagEllipse(Object viewer)
  43. {
  44. magEllipseViewers.Remove(viewer);
  45. if (magEllipseViewers.Count == 0) magEllipse.SetActive(false);
  46. }
  47. public void openDebug() {
  48. ShowMagEllipse(this);
  49. this.transform.Find("Canvas").gameObject.SetActive(true);
  50. this.transform.Find("Objects").gameObject.SetActive(true);
  51. }
  52. public void CloseDebug() {
  53. HideMagEllipse(this);
  54. this.transform.Find("Canvas").gameObject.SetActive(false);
  55. this.transform.Find("Objects").gameObject.SetActive(false);
  56. }
  57. public void ClearCalibrateGuide() {
  58. UserSettings.ins.deviceCalibrateGuideFinish = false;
  59. UserSettings.ins.Save();
  60. }
  61. public void SetArrowWeight(InputField inputField) {
  62. string text = inputField.text;
  63. CommonConfig.arrowWeight = float.Parse(text);
  64. }
  65. }