void OnProjectOpenButtonClick(Project project) { if (!ReflectProjectsManager.IsReadyForOpening(project)) { return; } var activeProject = m_ActiveProjectGetter.GetValue(); if (activeProject?.serverProjectId == project.serverProjectId) { Dispatcher.Dispatch(OpenDialogAction.From(OpenDialogAction.DialogType.None)); //if the project already opened, just close landing screen return; } Dispatcher.Dispatch(SetWalkEnableAction.From(false)); activeProject = project; if (activeProject != Project.Empty) { if (m_NavigationModeGetter.GetValue() != SetNavigationModeAction.NavigationMode.VR) { // switch to orbit mode var data = new SetForceNavigationModeAction.ForceNavigationModeTrigger((int)SetNavigationModeAction.NavigationMode.Orbit); Dispatcher.Dispatch(SetForceNavigationModeAction.From(data)); } // first close current Project if open Dispatcher.Dispatch(SetStatusMessage.From("Closing {UIStateManager.current.projectStateData.activeProject.name}...")); } Dispatcher.Dispatch(SetStatusMessage.From($"Opening {activeProject.name}...")); Dispatcher.Dispatch(CloseAllDialogsAction.From(null)); Dispatcher.Dispatch(SetIsOpenWithLinkSharingAction.From(false)); Dispatcher.Dispatch(SetCachedLinkTokenAction.From(string.Empty)); Dispatcher.Dispatch(OpenProjectActions <Project> .From(activeProject)); Dispatcher.Dispatch(ToggleMeasureToolAction.From(ToggleMeasureToolAction.ToggleMeasureToolData.defaultData)); }
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)); }