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(); }
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)); }