IsLocation.cs 2.2 KB

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