Exemplo n.º 1
0
        void OnFlyButtonClicked()
        {
            Dispatcher.Dispatch(CloseAllDialogsAction.From(null));

            var currentNavigationMode = m_NavigationModeSelector.GetValue();

            if (currentNavigationMode == SetNavigationModeAction.NavigationMode.Orbit ||
                currentNavigationMode == SetNavigationModeAction.NavigationMode.Fly)
            {
                return;
            }

            m_WalkButton.button.interactable = true;

            CheckDeviceCapability(m_DeviceCapabilitySelector.GetValue());

            Dispatcher.Dispatch(ShowModelAction.From(true));

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

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

            Dispatcher.Dispatch(ClearStatusAction.From(true));
            Dispatcher.Dispatch(ClearStatusAction.From(false));
            Dispatcher.Dispatch(SetInstructionMode.From(false));

            if (currentNavigationMode != SetNavigationModeAction.NavigationMode.Walk)
            {
                Dispatcher.Dispatch(UnloadSceneActions <Project> .From(m_SceneDictionary[currentNavigationMode]));
                Dispatcher.Dispatch(SetCameraViewTypeAction.From(SetCameraViewTypeAction.CameraViewType.Default));
            }

            Dispatcher.Dispatch(SetActiveToolBarAction.From(SetActiveToolBarAction.ToolbarType.OrbitSidebar));

            Dispatcher.Dispatch(SetThemeAction.From(ThemeController.k_Default));

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

            Dispatcher.Dispatch(EnableAllNavigationAction.From(true));
            Dispatcher.Dispatch(SetNavigationModeAction.From(SetNavigationModeAction.NavigationMode.Orbit));
            Dispatcher.Dispatch(SetShowScaleReferenceAction.From(false));

            Dispatcher.Dispatch(LoadSceneActions <Project> .From(m_SceneDictionary[SetNavigationModeAction.NavigationMode.Orbit]));

            Dispatcher.Dispatch(EnableBimFilterAction.From(true));
            Dispatcher.Dispatch(EnableSceneSettingsAction.From(true));
            Dispatcher.Dispatch(EnableSunStudyAction.From(true));
            Dispatcher.Dispatch(EnableMarkerSettingsAction.From(true));

            var arToolStateData = SetARToolStateAction.SetARToolStateData.defaultData;

            arToolStateData.selectionEnabled   = true;
            arToolStateData.measureToolEnabled = true;
            Dispatcher.Dispatch(SetARToolStateAction.From(arToolStateData));
        }
        void OnCameraViewChanged(int index)
        {
            var cameraViewType = SetCameraViewTypeAction.CameraViewType.Default;

            if (index == 0)
            {
                cameraViewType = SetCameraViewTypeAction.CameraViewType.Top;
            }
            else if (index == 1)
            {
                cameraViewType = SetCameraViewTypeAction.CameraViewType.Left;
            }
            else if (index == 2)
            {
                cameraViewType = SetCameraViewTypeAction.CameraViewType.Right;
            }

            Dispatcher.Dispatch(SetCameraViewTypeAction.From(cameraViewType));
        }
        void Orbit(Vector2 delta, SetOrbitTypeAction.OrbitType orbitType)
        {
            switch (orbitType)
            {
            case SetOrbitTypeAction.OrbitType.WorldOrbit:
                m_Camera.Rotate(new Vector2(delta.y, delta.x));
                break;

            case SetOrbitTypeAction.OrbitType.OrbitAtPoint:
                m_Camera.OrbitAroundLookAt(new Vector2(delta.y, delta.x));
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }

            if (m_CameraViewSelector.GetValue() != null && m_CameraViewSelector.GetValue().cameraViewType != SetCameraViewTypeAction.CameraViewType.Default)
            {
                Dispatcher.Dispatch(SetCameraViewTypeAction.From(SetCameraViewTypeAction.CameraViewType.Default));
            }

            OnInteraction();
        }
 void Reset()
 {
     Dispatcher.Dispatch(SetCameraViewTypeAction.From(SetCameraViewTypeAction.CameraViewType.Default));
     Dispatcher.Dispatch(SetCameraTransformInfoAction.From(ResetCamera()));
 }
 void ResetHomeView()
 {
     Dispatcher.Dispatch(SetCameraViewTypeAction.From(SetCameraViewTypeAction.CameraViewType.Default));
     Dispatcher.Dispatch(SetCameraTransformInfoAction.From(ResetCamera()));
     m_Camera.camera.clearFlags = CameraClearFlags.Skybox;
 }
        void OnCameraDefaultViewButtonClicked()
        {
            var cameraViewType = SetCameraViewTypeAction.CameraViewType.Default;

            Dispatcher.Dispatch(SetCameraViewTypeAction.From(cameraViewType));
        }