void OnARModeChanged(SetARModeAction.ARMode newData)
        {
            if (m_ARmode == newData)
            {
                return;
            }

            m_ARmode = newData;
            if (newData == SetARModeAction.ARMode.None)
            {
                return;
            }

            m_CurrentIARInstructionUI = null;
            foreach (var obj in InstructionUIList)
            {
                var instructionUI = obj as IARInstructionUI;
                if (instructionUI.arMode == newData)
                {
                    m_CurrentIARInstructionUI = instructionUI;
                    break;
                }
            }

            if (m_CurrentIARInstructionUI == null)
            {
                Debug.LogError("AR Instruction UI is null");
                return;
            }

            m_CurrentIARInstructionUI.Restart();
        }
Example #2
0
        public void SelectARMode(SetARModeAction.ARMode arMode)
        {
            if (arMode == SetARModeAction.ARMode.None)
            {
                return;
            }

            Dispatcher.Dispatch(SetWalkEnableAction.From(false));

            var currentNavigationMode = m_NavigationModeSelector.GetValue() == SetNavigationModeAction.NavigationMode.Walk
                ? SetNavigationModeAction.NavigationMode.Orbit
                : m_NavigationModeSelector.GetValue();

            if (currentNavigationMode != SetNavigationModeAction.NavigationMode.AR)
            {
                Dispatcher.Dispatch(UnloadSceneActions <Project> .From(UIStateManager.current.GetSceneDictionary()[currentNavigationMode]));
                Dispatcher.Dispatch(LoadSceneActions <Project> .From(UIStateManager.current.GetSceneDictionary()[SetNavigationModeAction.NavigationMode.AR]));
            }

            Dispatcher.Dispatch(OpenDialogAction.From(OpenDialogAction.DialogType.None));
            Dispatcher.Dispatch(ClearStatusAction.From(true));
            Dispatcher.Dispatch(ClearStatusAction.From(false));
            Dispatcher.Dispatch(SetInstructionMode.From(false));
            Dispatcher.Dispatch(CloseAllDialogsAction.From(null));
            Dispatcher.Dispatch(SetNavigationModeAction.From(SetNavigationModeAction.NavigationMode.AR));
            Dispatcher.Dispatch(SetARModeAction.From(arMode));
        }
        async Task RecycleAR(SetARModeAction.ARMode arMode)
        {
            m_NavigationModeUIController.StartOrbitMode();
            await Task.Delay(100);

            m_CardSelectionUIController.SelectARMode(arMode);
        }
 void OnARModeChange(SetARModeAction.ARMode mode)
 {
     if (mode == SetARModeAction.ARMode.MarkerBased && !m_MarkerModeActive)
     {
         // Turn on marker mode
         if (m_ARModePanel)
         {
             m_ARModePanel.SetActive(true);
         }
         if (m_DraggableMarkerPlacement)
         {
             m_DraggableMarkerPlacement.Close();
         }
         m_MarkerModeActive = true;
     }
     else if (mode != SetARModeAction.ARMode.MarkerBased && m_MarkerModeActive)
     {
         // Turn off marker mode
         if (m_ARModePanel)
         {
             m_ARModePanel.SetActive(false);
         }
         m_MarkerModeActive = false;
     }
 }
Example #5
0
 public UIARStateData(bool arEnabled, SetInstructionUIStateAction.InstructionUIState instructionUIState, IARInstructionUI currentARInstructionUI, int numProxyInstances,
                      int instructionUIStep, ARToolStateData arToolStateData, ARPlacementStateData placementStateData, SetARModeAction.ARMode arMode)
 {
     this.arEnabled              = arEnabled;
     this.instructionUIState     = instructionUIState;
     this.currentARInstructionUI = currentARInstructionUI;
     this.numProxyInstances      = numProxyInstances;
     this.instructionUIStep      = instructionUIStep;
     this.arToolStateData        = arToolStateData;
     this.placementStateData     = placementStateData;
     this.arMode = arMode;
 }
Example #6
0
 void ARCardClicked(SetARModeAction.ARMode arMode)
 {
     Dispatcher.Dispatch(SetARModeAction.From(arMode));
     Dispatcher.Dispatch(SetDeltaDNAButtonAction.From($"ARMode_{arMode}"));
     SelectARMode(arMode);
 }