示例#1
0
        void OnStateDataChanged(UIStateData data)
        {
            if (m_ToolbarsEnabled != data.toolbarsEnabled)
            {
                m_ToolbarsEnabled = data.toolbarsEnabled;
                OnARStateDataChanged(UIStateManager.current.arStateData);
            }

            if (m_CurrentNavigationMode != data.navigationState.navigationMode)
            {
                m_CurrentNavigationMode = data.navigationState.navigationMode;
                OnARStateDataChanged(UIStateManager.current.arStateData);
            }

            if (m_CurrentToolState != data.toolState)
            {
                m_SelectButton.selected = false;

                if (data.toolState.activeTool == ToolType.SelectTool)
                {
                    m_SelectButton.selected = true;
                }
                m_CurrentToolState = data.toolState;
            }
        }
示例#2
0
        void OnStateDataChanged(UIStateData data)
        {
            bool somethingChanged = false;

            if (m_CachedToolState != data.toolState)
            {
                m_SelectMode      = (data.toolState.activeTool == ToolType.SelectTool && UIStateManager.current.externalToolStateData.measureToolStateData.toolState == false);
                m_CachedToolState = data.toolState;
                somethingChanged  = true;
            }

            if (m_CachedActiveDialog != data.activeSubDialog)
            {
                somethingChanged     = true;
                m_CachedActiveDialog = data.activeSubDialog;
            }

            if (m_CachedColorPalette != data.colorPalette)
            {
                m_CachedColorPalette = data.colorPalette;
                SetColorPalette(m_CachedColorPalette);
            }

            if (somethingChanged)
            {
                UpdateMultiSelection();
            }
        }
示例#3
0
        void OnStateDataChanged(UIStateData data)
        {
            if (m_currentActiveSubDialog != data.activeSubDialog)
            {
                m_currentActiveSubDialog = data.activeSubDialog;
                if (m_currentActiveSubDialog == DialogType.BimInfo)
                {
                    m_SearchInput.text = null;
                }
            }

            if (data.bimGroup == m_CurrentBimGroup)
            {
                return;
            }

            if (string.IsNullOrEmpty(data.bimGroup))
            {
                return;
            }

            m_CurrentBimGroup = data.bimGroup;

            RefreshShownBimItems();
        }
示例#4
0
 void OnStateDataChanged(UIStateData stateData)
 {
     if (m_CachedNavigationMode == null || m_CachedNavigationMode != stateData.navigationState.navigationMode)
     {
         m_CachedNavigationMode = stateData.navigationState.navigationMode;
     }
 }
        void OnStateDataChanged(UIStateData data)
        {
            if (!string.IsNullOrEmpty(data.themeName) && data.themeName != m_CurrentThemeName)
            {
                m_CurrentThemeName = data.themeName;
                ThemeSettings settings = m_ThemeSettings.FirstOrDefault(s => s.Name == data.themeName);
                if (settings != null)
                {
                    foreach (var context in m_ThemeContexts)
                    {
                        foreach (var background in context.EnableBackgrounds)
                        {
                            background.enabled = settings.IsBackgroundEnable;
                        }

                        foreach (var background in context.Backgrounds)
                        {
                            background.color = settings.BackgroundColor;
                        }

                        foreach (var selectionBackground in context.SelectionBackgrounds)
                        {
                            selectionBackground.sprite = settings.SelectionBackground;
                        }

                        foreach (var layout in context.LayoutElements)
                        {
                            layout.minWidth = layout.minHeight = settings.LayoutSize;
                        }
                    }
                }
            }
        }
示例#6
0
        void OnStateDataChanged(UIStateData data)
        {
            m_SelectMode    = data.toolState.activeTool == ToolType.SelectTool;
            m_IsBimInfoOpen = data.activeSubDialog == DialogType.BimInfo;

            UpdateSelectedObjectHighlight();
        }
        void OnStateDataChanged(UIStateData data)
        {
            if (m_CurrentProgressData != data.progressData)
            {
                switch (data.progressData.progressState)
                {
                case ProgressData.ProgressState.NoPendingRequest:
                {
                    m_ProgressIndicatorControl.StopLooping();
                    break;
                }

                case ProgressData.ProgressState.PendingIndeterminate:
                {
                    m_ProgressIndicatorControl.StartLooping();
                    break;
                }

                case ProgressData.ProgressState.PendingDeterminate:
                {
                    float percent = 1;
                    if (data.progressData.totalCount != 0)
                    {
                        percent = (float)data.progressData.currentProgress / data.progressData.totalCount;
                    }

                    m_ProgressIndicatorControl.SetProgress(percent);
                    break;
                }
                }
                m_CurrentProgressData = data.progressData;
            }
        }
        void OnStateDataChanged(UIStateData stateData)
        {
            if (m_ToolbarsEnabled != stateData.toolbarsEnabled)
            {
                m_ToolbarsEnabled = stateData.toolbarsEnabled;
            }

            if (m_CachedNavigationMode != stateData.navigationState.navigationMode && m_ToolbarsEnabled)
            {
                m_CachedNavigationMode = stateData.navigationState.navigationMode;
                if (m_CachedNavigationMode == NavigationMode.AR)
                {
                    StartCoroutine(ResetInstructionUI());
                }
                else
                {
                    var m_actionMap = m_InputActionAsset.FindActionMap("AR", true);
                    m_actionMap.Disable();

                    // disable SimulationView
                    EnableSimulationViewInEditor(false);

                    // enable RootNode
                    m_MARSCamera.enabled = false;
                    // return to default Renderer
                    m_CameraData.SetRenderer((int)UniversalRenderer.DefaultForwardRenderer);


                    UIStateManager.current.m_RootNode.SetActive(true);

                    if (UIStateManager.current.SessionReady())
                    {
                        // Pause MARSSession
                        UIStateManager.current.StopDetectingPlanes();
                        UIStateManager.current.StopDetectingPoints();
                        UIStateManager.current.PauseSession();
                    }
                }
            }

            if (m_CachedOperationCancelled != stateData.operationCancelled && m_ToolbarsEnabled)
            {
                m_CachedOperationCancelled = stateData.operationCancelled;
                if (m_CachedOperationCancelled == true)
                {
                    switch (m_CachedInstructionUI)
                    {
                    case InstructionUI.ConfirmPlacement:
                    case InstructionUI.AimToPlaceBoundingBox:
                    {
                        m_Raycaster.ResetTransformation();
                        break;
                    }
                    }

                    StartCoroutine(AcknowledgeCancel());
                }
            }
        }
示例#9
0
 void OnStateDataChanged(UIStateData data)
 {
     if (data.statusMessage != String.Empty && !data.statusMessage.Equals(m_CurrentMessage))
     {
         m_MessageText.text = data.statusMessage;
         m_CurrentMessage   = data.statusMessage;
     }
 }
示例#10
0
        void UIStateManagerOnStateChanged(UIStateData data)
        {
            m_SyncButton.interactable = data.toolbarsEnabled;

            var syncButtonSprite = data.syncEnabled ? m_SyncEnabledSprite : m_SyncDisabledSprite;

            m_SyncButton.image.sprite = syncButtonSprite;
        }
示例#11
0
        void OnStateDataChanged(UIStateData stateData)
        {
            if (m_currentActiveToolbar == stateData.activeToolbar)
            {
                return;
            }

            m_OrbitSidebar.SetActive(false);
            m_FlySidebar.SetActive(false);
            m_WalkSidebar.SetActive(false);
            m_ARSidebar.SetActive(false);
            m_ARModelAlignViewSidebar.SetActive(false);
            m_ARInstructionSidebar.SetActive(false);
            m_TimeOfDayYearRadial.Close();
            m_AltitudeAzimuthRadial.Close();
            m_ARScaleRadial.Close();

            switch (stateData.activeToolbar)
            {
            case ToolbarType.FlySidebar:
                m_FlySidebar.SetActive(true);
                break;

            case ToolbarType.WalkSidebar:
                m_WalkSidebar.SetActive(true);
                break;

            case ToolbarType.ARSidebar:
                m_ARSidebar.SetActive(true);
                break;

            case ToolbarType.ARModelAlignSidebar:
                m_ARModelAlignViewSidebar.SetActive(true);
                break;

            case ToolbarType.ARInstructionSidebar:
                m_ARInstructionSidebar.SetActive(true);
                break;

            case ToolbarType.TimeOfDayYearDial:
                m_TimeOfDayYearRadial.Open();
                break;

            case ToolbarType.AltitudeAzimuthDial:
                m_AltitudeAzimuthRadial.Open();
                break;

            case ToolbarType.ARScaleDial:
                m_ARScaleRadial.Open();
                break;

            default:
                m_OrbitSidebar.SetActive(true);
                break;
            }

            m_currentActiveToolbar = stateData.activeToolbar;
        }
        void OnStateDataChanged(UIStateData data)
        {
            if (data.selectedProjectOption != m_CurrentSelectedProject)
            {
                if (m_LastHighlightedItem != null)
                {
                    m_LastHighlightedItem.SetHighlight(false);
                    m_LastHighlightedItem = null;
                }

                if (data.selectedProjectOption != Project.Empty)
                {
                    var projectListItem = m_ProjectListItems.SingleOrDefault(e => e.room.project == data.selectedProjectOption);
                    if (projectListItem != null)
                    {
                        projectListItem.SetHighlight(true);
                        m_LastHighlightedItem = projectListItem;
                    }

                    m_ProjectOption.transform.SetParent(m_ScrollRect.transform);
                    m_ProjectOption.transform.localPosition = GetOptionPosition(projectListItem);
                    m_ProjectOption.transform.SetParent(m_ScrollRect.transform.parent);

                    m_ScrollRect.StopMovement();
                    m_ProjectOption.InitProjectOption(data.selectedProjectOption);
                    m_ProjectOption.gameObject.SetActive(true);
                    m_TapDetector.SetActive(true);
                }
                else
                {
                    m_ProjectOption.gameObject.SetActive(false);
                    m_TapDetector.SetActive(false);
                }
                m_CurrentSelectedProject = data.selectedProjectOption;
                m_CurrentOptionIndex     = data.projectOptionIndex;
            }
            else if (data.projectOptionIndex != m_CurrentOptionIndex)
            {
                m_ProjectOption.InitProjectOption(data.selectedProjectOption);
                m_CurrentOptionIndex = data.projectOptionIndex;
            }

            if (data.landingScreenFilterData != m_CurrentFilterData)
            {
                m_ScrollRect.verticalNormalizedPosition = 1;
                FilterProjectList(data.landingScreenFilterData);
                m_CurrentFilterData = data.landingScreenFilterData;

                if (data.landingScreenFilterData.projectServerType != m_CurrentServerType)
                {
                    m_ProjectTabController.SelectButtonType(data.landingScreenFilterData.projectServerType);
                    m_CurrentServerType = data.landingScreenFilterData.projectServerType;
                }
            }

            UpdateLayout(data);
        }
        void OnStateDataChanged(UIStateData data)
        {
            m_DialogButtonImage.enabled = data.activeDialog == DialogType.SceneOptions;

            if (m_CurrentsSceneOptionData == data.sceneOptionData)
            {
                return;
            }

            if (m_CurrentsSceneOptionData.enableTexture != data.sceneOptionData.enableTexture)
            {
                m_TextureToggle.on = data.sceneOptionData.enableTexture;
            }

            if (m_CurrentsSceneOptionData.enableLightData != data.sceneOptionData.enableLightData)
            {
                m_LightDataToggle.on = data.sceneOptionData.enableLightData;
            }

            if (m_CurrentsSceneOptionData.skyboxData != data.sceneOptionData.skyboxData)
            {
                if (data.sceneOptionData.skyboxData.skyboxType == SkyboxType.Light)
                {
                    m_SkyboxDropdown.SetValueWithoutNotify(0);
                }
                else if (data.sceneOptionData.skyboxData.skyboxType == SkyboxType.Dark)
                {
                    m_SkyboxDropdown.SetValueWithoutNotify(1);
                }
                else
                {
                    m_SkyboxDropdown.SetValueWithoutNotify(2);
                }
            }


            if (m_CurrentsSceneOptionData.enableClimateSimulation != data.sceneOptionData.enableClimateSimulation)
            {
                m_SimulationToggle.on = data.sceneOptionData.enableClimateSimulation;
            }

            if (m_CurrentsSceneOptionData.weatherType != data.sceneOptionData.weatherType)
            {
                if (data.sceneOptionData.weatherType == WeatherType.HeavyRain)
                {
                    m_WeatherDropdown.SetValueWithoutNotify(0);
                }
                else if (data.sceneOptionData.weatherType == WeatherType.Sunny)
                {
                    m_WeatherDropdown.SetValueWithoutNotify(1);
                }
            }

            m_TemperatureControl.SetValue(data.sceneOptionData.temperature);

            m_CurrentsSceneOptionData = data.sceneOptionData;
        }
 void OnStateDataChanged(UIStateData uiData)
 {
     if (uiData.display.scaleFactor != m_CurrentScaleFactor)
     {
         m_CurrentScaleFactor       = uiData.display.scaleFactor;
         m_CanvasScaler.scaleFactor = m_CurrentScaleFactor;
         m_CanvasScaler.enabled     = m_CurrentScaleFactor != 1f;
     }
 }
 void OnStateDataChanged(UIStateData data)
 {
     m_DialogButtonImage.enabled = data.activeSubDialog == DialogType.LinkSharing;
     if (m_currentActiveDialog != data.activeDialog)
     {
         m_currentActiveDialog = data.activeDialog;
         m_DialogButton.gameObject.SetActive(data.activeDialog != DialogType.LandingScreen);
     }
 }
        void OnStateDataChanged(UIStateData data)
        {
            m_DialogButtonImage.enabled = data.activeDialog == DialogType.CameraOptions;
            m_DialogButton.interactable = data.toolbarsEnabled;

            if (m_CurrentCameraOptionData != data.cameraOptionData)
            {
                int cameraProjectionTypeIndex = 0;
                switch (data.cameraOptionData.cameraProjectionType)
                {
                case CameraProjectionType.Perspective:
                    cameraProjectionTypeIndex = 0;
                    break;

                case CameraProjectionType.Orthographic:
                    cameraProjectionTypeIndex = 1;
                    break;
                }
                m_CameraTypeDropdown.SetValueWithoutNotify(cameraProjectionTypeIndex);

                int cameraViewTypeIndex = 0;
                switch (data.cameraOptionData.cameraViewType)
                {
                case CameraViewType.Default:
                    cameraViewTypeIndex = -1;
                    break;

                case CameraViewType.Top:
                    cameraViewTypeIndex = 0;
                    break;

                case CameraViewType.Left:
                    cameraViewTypeIndex = 1;
                    break;

                case CameraViewType.Right:
                    cameraViewTypeIndex = 2;
                    break;
                }
                if (cameraViewTypeIndex != -1)
                {
                    m_CameraViewDropdown.SetValueWithoutNotify(cameraViewTypeIndex);
                }


                m_JoysticksToggle.on = data.cameraOptionData.enableJoysticks;

                var joystickPreferenceIndex = data.cameraOptionData.joystickPreference == JoystickPreference.RightHanded ? 0 : 1;
                m_JoystickPreferenceSwitch.activePropertyIndex = joystickPreferenceIndex;

                m_NavigationAutoToggle.on = data.cameraOptionData.enableAutoNavigationSpeed;
                m_NavigationSpeedControl.SetValue(data.cameraOptionData.navigationSpeed);

                m_CurrentCameraOptionData = data.cameraOptionData;
            }
        }
示例#17
0
        void OnStateDataChanged(UIStateData data)
        {
            m_DialogButtonImage.enabled = data.activeDialog == DialogType.SunStudy;
            if (data.navigationState.navigationMode == NavigationMode.AR)
            {
                m_DialogButton.interactable = false;
            }
            else
            {
                m_DialogButton.interactable = data.toolbarsEnabled;
            }

            if (m_CurrentSunStudyData == data.sunStudyData)
            {
                return;
            }

            if (m_CurrentIsStaticMode != data.sunStudyData.isStaticMode)
            {
                if (data.sunStudyData.isStaticMode)
                {
                    m_Panel.SetActive(true);
                    ChangeSliderAlpha(m_TimeOfDayLabel, m_TimeOfDayText, m_TimeOfDayControl, m_TimeOfDaySlider, 0.5f);
                    ChangeSliderAlpha(m_TimeOfYearLabel, m_TimeOfYearText, m_TimeOfYearControl, m_TimeOfYearSlider, 0.5f);
                    ChangeSliderAlpha(m_UtcOffsetLabel, m_UtcOffsetText, m_UtcOffsetControl, m_UtcOffsetSlider, 0.5f);
                    ChangeSliderAlpha(m_LatitudeLabel, m_LatitudeText, m_LatitudeControl, m_LatitudeSlider, 0.5f);
                    ChangeSliderAlpha(m_LongitudeLabel, m_LongitudeText, m_LongitudeControl, m_LongitudeSlider, 0.5f);
                }
                else
                {
                    m_Panel.SetActive(false);
                    ChangeSliderAlpha(m_TimeOfDayLabel, m_TimeOfDayText, m_TimeOfDayControl, m_TimeOfDaySlider, 1f);
                    ChangeSliderAlpha(m_TimeOfYearLabel, m_TimeOfYearText, m_TimeOfYearControl, m_TimeOfYearSlider, 1f);
                    ChangeSliderAlpha(m_UtcOffsetLabel, m_UtcOffsetText, m_UtcOffsetControl, m_UtcOffsetSlider, 1f);
                    ChangeSliderAlpha(m_LatitudeLabel, m_LatitudeText, m_LatitudeControl, m_LatitudeSlider, 1f);
                    ChangeSliderAlpha(m_LongitudeLabel, m_LongitudeText, m_LongitudeControl, m_LongitudeSlider, 1f);
                }
                m_CurrentIsStaticMode = data.sunStudyData.isStaticMode;
            }

            m_TimeOfDayControl.SetValue(data.sunStudyData.timeOfDay);
            m_TimeOfYearControl.SetValue(data.sunStudyData.timeOfYear);
            m_UtcOffsetControl.SetValue(data.sunStudyData.utcOffset);
            m_LatitudeControl.SetValue(data.sunStudyData.latitude);
            m_LongitudeControl.SetValue(data.sunStudyData.longitude);
            m_NorthAngleControl.SetValue(data.sunStudyData.northAngle);

            m_TimeOfDayText.SetText(GetFormattedMinuteOfDay(data.sunStudyData.timeOfDay));
            m_TimeOfYearText.SetText(GetFormattedDayOfYear(DateTime.Now.Year, data.sunStudyData.timeOfYear));
            m_UtcOffsetText.SetText(GetFormattedUtc(data.sunStudyData.utcOffset));
            m_LatitudeText.SetText($"{data.sunStudyData.latitude}");
            m_LongitudeText.SetText($"{data.sunStudyData.longitude}");
            m_NorthAngleText.SetText($"{data.sunStudyData.northAngle}");

            m_CurrentSunStudyData = data.sunStudyData;
        }
示例#18
0
 void OnStateDataChanged(UIStateData data)
 {
     switch (data.activeDialog)
     {
     case DialogType.CollaborationUserInfo:
     case DialogType.CollaborationUserList:
         UpdateList(m_MatchmakerIds);
         break;
     }
 }
        void OnStateDataChanged(UIStateData data)
        {
            m_SyncButton.interactable = data.toolbarsEnabled;

            if (m_CachedSyndEnabled != data.syncEnabled)
            {
                m_SyncButton.image.sprite = data.syncEnabled ? m_SyncEnabledSprite : m_SyncDisabledSprite;
                m_CachedSyndEnabled       = data.syncEnabled;
            }
        }
示例#20
0
        void OnStateDataChanged(UIStateData data)
        {
            m_HourDialControl.selectedValue  = GetFloatFromMin(data.sunStudyData.timeOfDay);
            m_MonthDialControl.selectedValue = GetFloatFromDay(data.sunStudyData.timeOfYear);

            if (data.activeToolbar != ToolbarType.TimeOfDayYearDial && data.activeToolbar != ToolbarType.AltitudeAzimuthDial)
            {
                m_previousToolbar = data.activeToolbar;
            }
        }
 void OnStateDataChanged(UIStateData data)
 {
     if (data.selectedProjectOption != m_CurrentProject || data.projectOptionIndex != m_CurrentIndex)
     {
         //Init Option Dialog
         InitProjectOption(data.selectedProjectOption);
         m_CurrentProject = data.selectedProjectOption;
         m_CurrentIndex   = data.projectOptionIndex;
     }
 }
 void UpdateLayout(UIStateData data)
 {
     if (data.activeDialog == DialogType.LandingScreen &&
         data.navigationState.navigationMode != m_CurrentNavigationMode)
     {
         m_CurrentNavigationMode = data.navigationState.navigationMode;
         var top    = (m_CurrentNavigationMode == NavigationMode.VR) ? k_VRLayoutOffsetUp: 0f;
         var bottom = (m_CurrentNavigationMode == NavigationMode.VR) ? m_RectTransform.offsetMin.y: 0f;
         m_RectTransform.offsetMax = new Vector2(m_RectTransform.offsetMax.x, top);
         m_RectTransform.offsetMin = new Vector2(m_RectTransform.offsetMin.x, bottom);
     }
 }
示例#23
0
 void OnStateDataChanged(UIStateData data)
 {
     if (m_currentActiveDialog != data.activeDialog)
     {
         m_currentActiveDialog       = data.activeDialog;
         m_DialogButtonImage.enabled = m_currentActiveDialog == DialogType.Filters;
         if (m_currentActiveDialog == DialogType.Filters)
         {
             m_SearchInput.text = null;
         }
     }
 }
示例#24
0
        void OnStateDataChanged(UIStateData data)
        {
            m_Button.interactable = data.toolbarsEnabled;

            if (m_CachedSyndEnabled != data.syncEnabled)
            {
                m_Button.image.sprite = data.syncEnabled ? m_SyncEnabledSprite : m_SyncDisabledSprite;
                m_CachedSyndEnabled   = data.syncEnabled;
            }

            m_Button.transform.parent.gameObject.SetActive(data.activeDialog != DialogType.LandingScreen);
        }
示例#25
0
        void OnStateDataChanged(UIStateData data)
        {
            if (m_currentDialogMode != data.dialogMode)
            {
                m_currentDialogMode   = data.dialogMode;
                m_ButtonImage.enabled = data.dialogMode == DialogMode.Help;
            }

            // Currently only support Help Mode in Main (Non AR/VR) screen
            m_Button.interactable = data.activeDialog != DialogType.LandingScreen &&
                                    data.navigationState.navigationMode != NavigationMode.AR && data.navigationState.navigationMode != NavigationMode.VR;
        }
 void OnUIStateChanged(UIStateData stateData)
 {
     m_ObjectToFollow = stateData.toolState.followUserTool.userObject;
     if (m_IsFollowing)
     {
         m_IsFollowing = m_ObjectToFollow != null;
     }
     else if (m_ObjectToFollow != null)
     {
         m_IsFollowing = true;
         StartCoroutine(FollowObjectUpdate());
     }
 }
示例#27
0
        void OnStateDataChanged(UIStateData stateData)
        {
            if (m_ActiveDialog != stateData.activeDialog)
            {
                if (stateData.activeDialog == DialogType.ARCardSelection)
                {
                    m_NavigationButton.SetIcon(m_ARButton.buttonIcon.sprite);
                    m_NavigationButton.selected = true;
                }
                else
                {
                    if (m_NavigationButton.selected != (stateData.activeDialog == DialogType.NavigationMode))
                    {
                        SetNavigationButtonIcon(stateData.navigationState.navigationMode);
                    }
                    m_NavigationButton.selected = stateData.activeDialog == DialogType.NavigationMode;
                }

                m_ActiveDialog = stateData.activeDialog;
            }

            if (m_DeviceCapability != stateData.deviceCapability)
            {
                m_ARButton.button.interactable = false;
                m_VRButton.button.interactable = false;

                if (stateData.deviceCapability.HasFlag(DeviceCapability.ARCapability))
                {
                    m_ARButton.button.interactable = true;
                }

                if (stateData.deviceCapability.HasFlag(DeviceCapability.VRCapability))
                {
                    m_VRButton.button.interactable = true;
                }

                m_DeviceCapability = stateData.deviceCapability;
            }

            if (m_ToolbarsEnabled != stateData.toolbarsEnabled)
            {
                m_NavigationButton.button.interactable = stateData.toolbarsEnabled;
                m_ToolbarsEnabled = stateData.toolbarsEnabled;
            }

            if (m_NavigationMode != stateData.navigationState.navigationMode)
            {
                SetNavigationButtonIcon(stateData.navigationState.navigationMode);
                m_NavigationMode = stateData.navigationState.navigationMode;
            }
        }
示例#28
0
        void OnStateDataChanged(UIStateData data)
        {
            if (m_ToolbarsEnabled != data.toolbarsEnabled)
            {
                m_OrbitButton.button.interactable       = data.toolbarsEnabled;
                m_LookAroundButton.button.interactable  = data.toolbarsEnabled;
                m_SelectButton.button.interactable      = data.toolbarsEnabled;
                m_SunStudyButton.button.interactable    = data.toolbarsEnabled;
                m_MeasureToolButton.button.interactable = data.toolbarsEnabled;
                m_ToolbarsEnabled = data.toolbarsEnabled;
            }

            if (m_CachedToolState != data.toolState)
            {
                m_OrbitButton.selected = false;

                m_LookAroundButton.selected = false;
                m_SelectButton.selected     = false;

                if (data.toolState.activeTool == ToolType.SelectTool)
                {
                    m_SelectButton.selected = true;
                }
                else if (data.toolState.activeTool == ToolType.OrbitTool)
                {
                    if (data.toolState.orbitType == OrbitType.OrbitAtPoint)
                    {
                        m_CurrentOrbitButtonType = data.toolState.activeTool;
                        m_OrbitButton.selected   = true;
                        m_OrbitButton.SetIcon(m_OrbitImage);
                    }
                    else if (data.toolState.orbitType == OrbitType.WorldOrbit)
                    {
                        m_LookAroundButton.selected = true;
                    }
                }
                else if (data.toolState.activeTool == ToolType.ZoomTool)
                {
                    m_CurrentOrbitButtonType = data.toolState.activeTool;
                    m_OrbitButton.selected   = true;
                    m_OrbitButton.SetIcon(m_ZoomImage);
                }
                else if (data.toolState.activeTool == ToolType.PanTool)
                {
                    m_CurrentOrbitButtonType = data.toolState.activeTool;
                    m_OrbitButton.selected   = true;
                    m_OrbitButton.SetIcon(m_PanImage);
                }
                m_CachedToolState = data.toolState;
            }
        }
        void OnStateDataChanged(UIStateData data)
        {
            if (m_ToolbarsEnabled != data.toolbarsEnabled)
            {
                m_ToolbarsEnabled = data.toolbarsEnabled;
                UpdateButtons(data.settingsToolStateData);
            }

            if (m_dataToolButtonStateData != data.settingsToolStateData)
            {
                m_dataToolButtonStateData = data.settingsToolStateData;
                UpdateButtons(data.settingsToolStateData);
            }
        }
示例#30
0
        void OnStateDataChanged(UIStateData stateData)
        {
            if (stateData.SelectedUserData != m_UserDialogData)
            {
                m_UserDialogData = stateData.SelectedUserData;
                MatchmakerId     = m_UserDialogData.matchmakerId;
                if (UIStateManager.current.stateData.navigationState.navigationMode != NavigationMode.VR)
                {
                    transform.position = m_UserDialogData.dialogPosition;
                }

                UpdateUser(m_UserDialogData.matchmakerId, true);
            }
        }