示例#1
0
        IEnumerator ResetInstructionUI()
        {
            yield return(new WaitForSeconds(0.1f));

            if (m_MarkerController != null)
            {
                m_MarkerController.OnMarkerUpdated   -= HandleMarkerFound;
                m_MarkerController.OnBarcodeScanExit -= HandleBarcodeReaderClosed;
                m_MarkerController?.CancelBarcode();
                m_MarkerController?.ImageTracker?.Stop();
                m_ScanningBarcode = false;
            }
            m_CurrentState = MarkerBasedInstructionUIState.Init;
            m_States[m_CurrentState].onNext();
        }
示例#2
0
        public void Cancel()
        {
            if (m_MarkerController != null)
            {
                m_MarkerController?.CancelBarcode();
                if (m_MarkerController.ImageTracker != null)
                {
                    m_MarkerController.ImageTracker.OnTrackedFound          -= HandleTrackableFound;
                    m_MarkerController.ImageTracker.OnTrackedPositionUpdate -= HandleTrackableUpdate;
                    m_MarkerController?.ImageTracker?.Stop();
                }
            }

            PauseAR(false);
            Dispatcher.Dispatch(SetAREnabledAction.From(false));
            Dispatcher.Dispatch(ClearStatusAction.From(false));
            Dispatcher.Dispatch(ShowModelAction.From(true));
            m_CurrentState = MarkerBasedInstructionUIState.Init;
            m_ARModeUIController.StartCoroutine(AcknowledgeCancel());
            // Kick back to Orbit mode
            var data = new SetForceNavigationModeAction.ForceNavigationModeTrigger((int)SetNavigationModeAction.NavigationMode.Orbit);

            Dispatcher.Dispatch(SetForceNavigationModeAction.From(data));
        }