VuforiaFindAction.cs 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. using ShadowStudio.Tool;
  2. using ShadowStudio.UI;
  3. using System.Collections;
  4. using System.Collections.Generic;
  5. using UnityEngine;
  6. using Vuforia;
  7. using XRTool.Util;
  8. public class VuforiaFindAction : DefaultTrackableEventHandler
  9. {
  10. private bool isFind;
  11. private bool isOk = true;
  12. protected override void OnTrackingFound()
  13. {
  14. isFind = true;
  15. }
  16. protected override void OnTrackingLost()
  17. {
  18. isFind = false;
  19. }
  20. private float times;
  21. // Update is called once per frame
  22. void Update()
  23. {
  24. if (isFind)
  25. {
  26. times = times + Time.deltaTime;
  27. if (times <= 0.5)
  28. {
  29. isOk = false;
  30. }
  31. else
  32. {
  33. BoardDlg.Instance.transform.position = this.transform.position + new Vector3(0f, 1.5f, 0f) + this.transform.forward.normalized * 2;
  34. BoardDlg.Instance.transform.eulerAngles = new Vector3(0, this.transform.eulerAngles.y, 0);//重点
  35. BoardDlg.Instance.OnDragTransfer();
  36. if (!CheckDeviceType.checkIsPhone())
  37. {
  38. if (ConsoleDlg.Instance && ConsoleDlg.Instance.vufora_camera)
  39. {
  40. ConsoleDlg.Instance.vufora_camera.enabled = false;
  41. }
  42. if (VuforiaBehaviour.Instance)
  43. {
  44. VuforiaBehaviour.Instance.enabled = false;
  45. }
  46. }
  47. CommonMethod.ShowScanEffect(false);
  48. if (ScanPictureBtn.Instance.Bg)
  49. {
  50. ScanPictureBtn.Instance.Bg.gameObject.SetActive(false);
  51. }
  52. isFind = false;
  53. isOk = true;
  54. if (StudioRtc.Instance != null && StudioRtc.Instance.me.cIdV != "")
  55. {
  56. StudioRtc.Instance.startCamera();
  57. }
  58. AgoraVideoAudioManager.Instance.JoinChannel();
  59. }
  60. }
  61. else
  62. {
  63. RefClilk();
  64. }
  65. }
  66. public void RefClilk()
  67. {
  68. times = 0;
  69. if (!isOk)
  70. {
  71. if (!CheckDeviceType.checkIsPhone())
  72. {
  73. if (ConsoleDlg.Instance && ConsoleDlg.Instance.vufora_camera)
  74. {
  75. ConsoleDlg.Instance.vufora_camera.enabled = false;
  76. }
  77. if (VuforiaBehaviour.Instance)
  78. {
  79. VuforiaBehaviour.Instance.enabled = false;
  80. }
  81. }
  82. if (StudioRtc.Instance != null && StudioRtc.Instance.me != null && StudioRtc.Instance.me.cIdV != "")
  83. {
  84. StudioRtc.Instance.startCamera();
  85. }
  86. CommonMethod.ShowScanEffect(false);
  87. if (ScanPictureBtn.Instance.Bg)
  88. {
  89. ScanPictureBtn.Instance.Bg.gameObject.SetActive(false);
  90. }
  91. isOk = true;
  92. }
  93. }
  94. }