BluetoothHolder.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. public class BluetoothHolder : MonoBehaviour
  6. {
  7. bool debug = true;
  8. GameObject magEllipse;
  9. HashSet<Object> magEllipseViewers = new HashSet<Object>();
  10. public static BluetoothHolder ins;
  11. public static void Init()
  12. {
  13. if (!BluetoothHolder.ins) {
  14. GameObject bluetoothHolder = Resources.Load<GameObject>("Prefabs/BluetoothHolder");
  15. GameObject.Instantiate(bluetoothHolder);
  16. }
  17. }
  18. void Awake()
  19. {
  20. if (ins)
  21. {
  22. Destroy(this.gameObject);
  23. } else {
  24. ins = this;
  25. DontDestroyOnLoad(this.gameObject);
  26. }
  27. }
  28. void Start() {
  29. magEllipse = this.transform.Find("test-ellipse").gameObject;
  30. if (!debug) {
  31. this.transform.Find("CanvasForOpenDebug").gameObject.SetActive(false);
  32. }
  33. CloseDebug();
  34. }
  35. public void ShowMagEllipse(Object viewer)
  36. {
  37. magEllipseViewers.Add(viewer);
  38. if (magEllipseViewers.Count == 1) magEllipse.SetActive(true);
  39. }
  40. public void HideMagEllipse(Object viewer)
  41. {
  42. magEllipseViewers.Remove(viewer);
  43. if (magEllipseViewers.Count == 0) magEllipse.SetActive(false);
  44. }
  45. public void openDebug() {
  46. ShowMagEllipse(this);
  47. this.transform.Find("Canvas").gameObject.SetActive(true);
  48. this.transform.Find("Objects").gameObject.SetActive(true);
  49. }
  50. public void CloseDebug() {
  51. HideMagEllipse(this);
  52. this.transform.Find("Canvas").gameObject.SetActive(false);
  53. this.transform.Find("Objects").gameObject.SetActive(false);
  54. }
  55. }