IsLocation.cs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. using Immersal.AR;
  2. using Blue;
  3. using UnityEngine.UI;
  4. using UnityEngine;
  5. /// <summary>
  6. /// 是否定位功能
  7. /// </summary>
  8. public class IsLocation : AbstractController
  9. {
  10. public Toggle Y_Location_Toggle;
  11. public Toggle N_Location_Toggle;
  12. private XRLocalizer XRLocalizer =>SceneIOCContainer.Instance.Pull("XRLocalizer")as XRLocalizer;
  13. private Color32 blue= new Color32(0, 120, 255, 255);
  14. private Color32 white= new Color32(255, 255, 255, 255);
  15. private void Start()
  16. {
  17. if (!AutoERNIEBot.Auto)
  18. {
  19. Y_Location_Toggle.onValueChanged.AddListener(Y_IsLocationValueChange);
  20. N_Location_Toggle.onValueChanged.AddListener(N_IsLocationValueChange);
  21. }
  22. }
  23. private void Y_IsLocationValueChange(bool isOn)
  24. {
  25. if (isOn)
  26. {
  27. Y_Location_Toggle.transform.Find("Background").GetComponent<Image>().color = blue;
  28. Y_Location_Toggle.transform.Find("Background/Checkmark").GetComponent<Image>().color = blue;
  29. N_Location_Toggle.transform.Find("Background").GetComponent<Image>().color = white;
  30. N_Location_Toggle.transform.Find("Background/Checkmark").GetComponent<Image>().color = white;
  31. XRLocalizer.enabled = true;
  32. this.SendCommand(new SetImmersalLocalCommand(true));
  33. }
  34. }
  35. private void N_IsLocationValueChange(bool isOn)
  36. {
  37. if (isOn)
  38. {
  39. Y_Location_Toggle.transform.Find("Background").GetComponent<Image>().color = white;
  40. Y_Location_Toggle.transform.Find("Background/Checkmark").GetComponent<Image>().color = white;
  41. N_Location_Toggle.transform.Find("Background").GetComponent<Image>().color = blue;
  42. N_Location_Toggle.transform.Find("Background/Checkmark").GetComponent<Image>().color = blue;
  43. XRLocalizer.enabled = false;
  44. this.SendCommand(new SetImmersalLocalCommand(false));
  45. }
  46. }
  47. }