Example #1
0
        void OnButtonClick()
        {
            var dialogMode = m_DialogModeSelector.GetValue();

            dialogMode = (dialogMode == SetDialogModeAction.DialogMode.Help) ? SetDialogModeAction.DialogMode.Normal : SetDialogModeAction.DialogMode.Help;
            Dispatcher.Dispatch(SetDialogModeAction.From(dialogMode));

            // close all (sub)dialogs, and sunstudy dial (a ToolbarType)
            if (dialogMode == SetDialogModeAction.DialogMode.Help)
            {
                Dispatcher.Dispatch(SetDeltaDNAButtonAction.From($"HelpMode"));
                Dispatcher.Dispatch(OpenDialogAction.From(OpenDialogAction.DialogType.None));
                Dispatcher.Dispatch(OpenSubDialogAction.From(OpenDialogAction.DialogType.None));

                var activeToolbar = m_ActiveToolBarSelector.GetValue();
                if (activeToolbar == SetActiveToolBarAction.ToolbarType.TimeOfDayYearDial || activeToolbar == SetActiveToolBarAction.ToolbarType.AltitudeAzimuthDial)
                {
                    Dispatcher.Dispatch(ClearStatusAction.From(true));
                    Dispatcher.Dispatch(ClearStatusAction.From(false));
                    Dispatcher.Dispatch(SetActiveToolBarAction.From(TimeRadialUIController.m_previousToolbar));
                }

                if (m_MeasureToolStateGetter.GetValue())
                {
                    Dispatcher.Dispatch(ClearStatusAction.From(true));
                    Dispatcher.Dispatch(ClearStatusAction.From(false));
                    Dispatcher.Dispatch(ToggleMeasureToolAction.From(ToggleMeasureToolAction.ToggleMeasureToolData.defaultData));
                }
            }
        }
        void OnSelectButtonClicked()
        {
            var dialogType = m_SelectButton.selected ? OpenDialogAction.DialogType.None : OpenDialogAction.DialogType.BimInfo;

            Dispatcher.Dispatch(SetSpatialSelectorAction.From(m_ObjectSelector));
            Dispatcher.Dispatch(SetActiveToolAction.From(m_SelectButton.selected ? SetActiveToolAction.ToolType.None : SetActiveToolAction.ToolType.SelectTool));
            Dispatcher.Dispatch(OpenSubDialogAction.From(dialogType));
            Dispatcher.Dispatch(ToggleMeasureToolAction.From(ToggleMeasureToolAction.ToggleMeasureToolData.defaultData));
        }
Example #3
0
        void OnDialogButtonClicked()
        {
            var dialogType = m_DialogWindow.open ? OpenDialogAction.DialogType.None : OpenDialogAction.DialogType.SunStudy;

            Dispatcher.Dispatch(OpenDialogAction.From(dialogType));
            Dispatcher.Dispatch(OpenSubDialogAction.From(OpenDialogAction.DialogType.None));

            // TODO Always change mode back to Geographic since dial will be Time or closed
        }
        void OnDialogButtonLongPressed()
        {
            Dispatcher.Dispatch(SetInfoTypeAction.From(SetInfoTypeAction.InfoType.Debug));

            if (!m_DialogWindow.open)
            {
                Dispatcher.Dispatch(OpenSubDialogAction.From(OpenDialogAction.DialogType.SceneOptions));
                SetDialogPosition();
            }
        }
        void OnDialogButtonClicked()
        {
            var dialogType = m_DialogWindow.open ? OpenDialogAction.DialogType.None : OpenDialogAction.DialogType.SceneOptions;

            Dispatcher.Dispatch(OpenSubDialogAction.From(dialogType));
            if (dialogType == OpenDialogAction.DialogType.SceneOptions)
            {
                SetDialogPosition();
            }
        }
Example #6
0
        protected override void OnUserClick()
        {
            var dialogType = m_ActiveSubDialogGetter.GetValue() == OpenDialogAction.DialogType.Account ? OpenDialogAction.DialogType.None : OpenDialogAction.DialogType.Account;

            if (m_ActiveDialogGetter.GetValue() != OpenDialogAction.DialogType.LandingScreen)
            {
                Dispatcher.Dispatch(OpenDialogAction.From(OpenDialogAction.DialogType.None));
            }

            Dispatcher.Dispatch(OpenSubDialogAction.From(dialogType));
        }
Example #7
0
        void OnNavigationButtonClicked()
        {
            if (m_WalkModeEnableSelector.GetValue() && m_DialogModeSelector.GetValue() != SetDialogModeAction.DialogMode.Help)
            {
                return;
            }

            var dialogType = m_FanOutWindow.open ? OpenDialogAction.DialogType.None : OpenDialogAction.DialogType.GizmoMode;

            Dispatcher.Dispatch(OpenSubDialogAction.From(dialogType));
        }
Example #8
0
 public void Close(bool isDialogType)
 {
     if (isDialogType)
     {
         Dispatcher.Dispatch(OpenDialogAction.From(OpenDialogAction.DialogType.None));
         Dispatcher.Dispatch(OpenSubDialogAction.From(OpenDialogAction.DialogType.None));
     }
     else
     {
         Dispatcher.Dispatch(SetHelpModeIDAction.From(SetHelpModeIDAction.HelpModeEntryID.None));
     }
 }
Example #9
0
        void HideButtons(float contentHeight, float layoutHeight)
        {
            // Compute how many button we need to hide
            var removeCount = Mathf.Ceil((contentHeight - layoutHeight) / k_ButtonHeight);

            // Left place for the More button
            if (!m_MoreButton.transform.parent.gameObject.activeSelf)
            {
                removeCount++;
            }

            // Check if an hidden button was selected, if so remove it
            foreach (var button in m_HiddenButtons)
            {
                if (button.selected)
                {
                    m_HiddenButtons.Remove(button);

                    // Only one can be selected at once
                    break;
                }
            }

            var activatedButtons = m_Buttons.Where(b => b.transform.parent.gameObject.activeSelf && !b.selected).ToList();
            var size             = activatedButtons.Count - 1;

            for (int i = size; i > size - removeCount && i >= 1; i--)
            {
                m_HiddenButtons.Add(activatedButtons[i]);
                activatedButtons[i].transform.parent.gameObject.SetActive(false);
            }

            if (m_HiddenButtons.Count == 1)
            {
                var button = m_HiddenButtons[0];
                button.transform.parent.gameObject.SetActive(true);
                m_HiddenButtons.RemoveAt(0);

                m_MoreButton.transform.parent.gameObject.SetActive(false);
                if (m_MoreButton.selected)
                {
                    Dispatcher.Dispatch(OpenSubDialogAction.From(OpenDialogAction.DialogType.None));
                }
            }
            else if (m_HiddenButtons.Count > 0)
            {
                m_MoreButton.transform.parent.gameObject.SetActive(true);
            }

            LayoutRebuilder.ForceRebuildLayoutImmediate(m_MainRectTransform);
            m_MoreButtonController.UpdateButtons(m_HiddenButtons.OrderBy(b => b.transform.parent.GetSiblingIndex()));
        }
Example #10
0
        void OnMeasureToolStateDataChanged(bool value)
        {
            // Special case for Measure tool because it not associated with a dialog
            if (value && m_DialogButton.selected)
            {
                m_DialogButton.selected = false;
                m_DialogWindow.Close();

                IEnumerator WaitAFrame()
                {
                    yield return(null);

                    Dispatcher.Dispatch(OpenSubDialogAction.From(OpenDialogAction.DialogType.None));
                }

                StartCoroutine(WaitAFrame());
            }
        }
Example #11
0
        void OnActiveDialogChanged(OpenDialogAction.DialogType newData)
        {
            if (newData != OpenDialogAction.DialogType.None &&
                m_ActiveSubDialogGetter.GetValue() == OpenDialogAction.DialogType.LeftSidebarMore)
            {
                m_DialogButton.selected = false;
                m_DialogWindow.Close();

                IEnumerator WaitAFrame()
                {
                    yield return(null);

                    Dispatcher.Dispatch(OpenSubDialogAction.From(OpenDialogAction.DialogType.None));
                }

                StartCoroutine(WaitAFrame());
            }
        }
        void OnMeasureToolButtonClicked()
        {
            // Helpmode
            if (HelpDialogController.SetHelpID(SetHelpModeIDAction.HelpModeEntryID.MeasureTool))
            {
                return;
            }

            var toggleData = ToggleMeasureToolAction.ToggleMeasureToolData.defaultData;

            toggleData.toolState = !m_MeasureToolStateSelector.GetValue();

            if (toggleData.toolState)
            {
                if (m_ActiveToolSelector.GetValue() == SetActiveToolAction.ToolType.SelectTool && ((ObjectSelectionInfo)m_ObjectSelectionInfoSelector.GetValue()).CurrentSelectedObject() == null)
                {
                    Dispatcher.Dispatch(SetActiveToolAction.From(SetActiveToolAction.ToolType.None));
                    Dispatcher.Dispatch(OpenSubDialogAction.From(OpenDialogAction.DialogType.None));
                }

                Dispatcher.Dispatch(SetStatusMessageWithType.From(
                                        new StatusMessageData()
                {
                    text = MeasureToolUIController.instructionStart, type = StatusMessageType.Instruction
                }));
            }
            else
            {
                Dispatcher.Dispatch(ClearStatusAction.From(true));
                Dispatcher.Dispatch(ClearStatusAction.From(false));
            }

            Dispatcher.Dispatch(ToggleMeasureToolAction.From(toggleData));

            // To initialize Anchor
            Dispatcher.Dispatch(SetSpatialSelectorAction.From(m_ObjectSelector));

            if (m_SelectButton.selected)
            {
                Dispatcher.Dispatch(SetActiveToolAction.From(SetActiveToolAction.ToolType.None));
                Dispatcher.Dispatch(OpenSubDialogAction.From(OpenDialogAction.DialogType.None));
            }
        }
Example #13
0
        void OnDialogModeChanged(SetDialogModeAction.DialogMode mode)
        {
            if (mode == SetDialogModeAction.DialogMode.Normal)
            {
                if (m_DialogWindow.open)
                {
                    m_DialogButton.selected = true;

                    IEnumerator WaitNextFrame()
                    {
                        yield return(null);

                        Dispatcher.Dispatch(OpenSubDialogAction.From(OpenDialogAction.DialogType.LeftSidebarMore));
                    }

                    StartCoroutine(WaitNextFrame());
                }
            }
        }
Example #14
0
        void OnProjectListButtonClick()
        {
            // Helpmode
            if (HelpDialogController.SetHelpID(SetHelpModeIDAction.HelpModeEntryID.Projects))
            {
                m_ProjectListButton.selected = true;
                return;
            }

            Dispatcher.Dispatch(OpenSubDialogAction.From(OpenDialogAction.DialogType.None));
            var dialogType = m_ActiveDialogSelector.GetValue() == OpenDialogAction.DialogType.LandingScreen ? OpenDialogAction.DialogType.None : OpenDialogAction.DialogType.LandingScreen;

            Dispatcher.Dispatch(OpenDialogAction.From(dialogType));
            if (dialogType == OpenDialogAction.DialogType.None)
            {
                Dispatcher.Dispatch(CloseAllDialogsAction.From(null));
                Dispatcher.Dispatch(ResetToolBarAction.From(null));
                Dispatcher.Dispatch(ToggleMeasureToolAction.From(ToggleMeasureToolAction.ToggleMeasureToolData.defaultData));
                Dispatcher.Dispatch(ClearStatusAction.From(true));
                Dispatcher.Dispatch(ClearStatusAction.From(false));
            }
        }
Example #15
0
        void OnDialogButtonClick()
        {
            if (m_DialogType != OpenDialogAction.DialogType.None)
            {
                var activeDialog = m_IsSubDialog ? m_ActiveSubDialogSelector.GetValue() : m_ActiveDialogSelector.GetValue();
                var dialogType   = activeDialog != m_DialogType && openDialogCondition() ? m_DialogType : OpenDialogAction.DialogType.None;

                if (m_IsSubDialog)
                {
                    Dispatcher.Dispatch(OpenSubDialogAction.From(dialogType));
                }
                else
                {
                    Dispatcher.Dispatch(OpenDialogAction.From(dialogType));
                }

                if (!ReferenceEquals(m_Dialog, null) && m_MoveDialogToButton && dialogType != OpenDialogAction.DialogType.None)
                {
                    m_Dialog.transform.position = m_Button.transform.position;
                }
            }
        }
Example #16
0
        void ShowButtons(float contentHeight, float layoutHeight)
        {
            // Try re enable hidden buttons
            var addCount = Mathf.Floor((layoutHeight - contentHeight) / k_ButtonHeight);

            var size = Mathf.Min(addCount, m_HiddenButtons.Count);

            for (int i = 0; i < size; i++)
            {
                var button = m_HiddenButtons[m_HiddenButtons.Count - 1];
                button.transform.parent.gameObject.SetActive(true);
                m_HiddenButtons.RemoveAt(m_HiddenButtons.Count - 1);
            }

            var count = m_HiddenButtons.Count;

            if (count <= 1)
            {
                if (count == 1)
                {
                    var button = m_HiddenButtons[0];
                    button.transform.parent.gameObject.SetActive(true);
                    m_HiddenButtons.RemoveAt(0);
                }

                m_MoreButton.transform.parent.gameObject.SetActive(false);
                if (m_MoreButton.selected)
                {
                    Dispatcher.Dispatch(OpenSubDialogAction.From(OpenDialogAction.DialogType.None));
                }
            }
            else
            {
                m_MoreButtonController.UpdateButtons(m_HiddenButtons.OrderBy(b => b.transform.parent.GetSiblingIndex()));
            }

            LayoutRebuilder.ForceRebuildLayoutImmediate(m_MainRectTransform);
        }
Example #17
0
        void OnDialogButtonClick()
        {
            // Helpmode
            if (HelpDialogController.SetHelpID(SetHelpModeIDAction.HelpModeEntryID.LinkSharing))
            {
                m_DialogButton.selected = true;
                return;
            }

            var dialogType = m_DialogWindow.open ? OpenDialogAction.DialogType.None : OpenDialogAction.DialogType.LinkSharing;

            Dispatcher.Dispatch(SetDeltaDNAButtonAction.From($"LinkSharingDialog"));
            Dispatcher.Dispatch(OpenSubDialogAction.From(dialogType));
            if (dialogType == OpenDialogAction.DialogType.LinkSharing)
            {
                var linkSharingManager = UIStateManager.current.m_LinkSharingManager;
                linkSharingManager.GetSharingLinkInfo(UIStateManager.current.projectSettingStateData.accessToken.CloudServicesAccessToken, m_ActiveProjectSelector.GetValue());
            }
            else
            {
                Dispatcher.Dispatch(ClearStatusAction.From(true));
                Dispatcher.Dispatch(ClearStatusAction.From(false));
            }
        }
Example #18
0
        void OnNavigationButtonClicked()
        {
            var dialogType = m_ActiveSubDialogSelector.GetValue() == OpenDialogAction.DialogType.NavigationMode ? OpenDialogAction.DialogType.None : OpenDialogAction.DialogType.NavigationMode;

            Dispatcher.Dispatch(OpenSubDialogAction.From(dialogType));
        }
Example #19
0
 void OnARButtonClicked()
 {
     Dispatcher.Dispatch(OpenSubDialogAction.From(OpenDialogAction.DialogType.None));
     Dispatcher.Dispatch(OpenDialogAction.From(OpenDialogAction.DialogType.ARCardSelection));
     Dispatcher.Dispatch(SetVREnableAction.From(false));
 }
Example #20
0
        void OnDialogButtonClicked()
        {
            var dialogType = m_DialogWindow.open && m_DialogModeGetter.GetValue() == SetDialogModeAction.DialogMode.Normal ? OpenDialogAction.DialogType.None : OpenDialogAction.DialogType.LeftSidebarMore;

            Dispatcher.Dispatch(OpenSubDialogAction.From(dialogType));
        }