MinMapPos.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using Blue;
  2. using UnityEngine;
  3. public class MinMapPos : AbstractController
  4. {
  5. [SerializeField] private GameObject MinMapCanvas;
  6. private bool first = true;
  7. private IMinMapService minMapService;
  8. private int value;
  9. void Start()
  10. {
  11. minMapService = this.GetService<IMinMapService>();
  12. if (MinMapCanvas != null)
  13. {
  14. minMapService.setMinMap.Register(
  15. newValue =>
  16. {
  17. //Debug.LogError("新的值:" + newValue);
  18. value = newValue;
  19. if (newValue == 0)
  20. MinMapCanvas.SetActive(false);
  21. else
  22. MinMapCanvas.SetActive(true);
  23. if (first)
  24. {
  25. first = false;
  26. return;
  27. }
  28. minMapService.Set();
  29. }
  30. ).UnRegisterWhenGameObjectDestroyed(gameObject);
  31. MinMapCanvas.transform.parent = OpenXRCamera.Instance.head;
  32. }
  33. }
  34. private bool patch = true;
  35. private void Update()
  36. {
  37. if (value == 0 && patch)
  38. {
  39. if (MinMapCanvas.activeSelf == true)
  40. {
  41. MinMapCanvas.SetActive(false);
  42. patch = false;
  43. }
  44. }
  45. /*
  46. else if (value == 1 && patch)
  47. {
  48. if (MinMapCanvas.activeSelf == false)
  49. {
  50. MinMapCanvas.SetActive(true);
  51. patch = false;
  52. }
  53. }
  54. */
  55. }
  56. }