Пример #1
0
 protected virtual void OnSceneStateEvent(object sender, SceneStateEventArgs args)
 {
     if (args.Event.State == SceneStateData.StateEnum.Stopping)
     {
         if (TransformMenu.Instance.CanvasGroup.alpha == 1 && TransformMenu.Instance.RobotTabletBtn.CurrentState == TwoStatesToggleNew.States.Left)
         {
             MoveButton.GetComponent <Image>().enabled  = false;
             MoveButton2.GetComponent <Image>().enabled = false;
             TransformMenu.Instance.Hide();
             SelectorMenu.Instance.gameObject.SetActive(true);
         }
         if (RobotSteppingMenu.Instance.CanvasGroup.alpha == 1)
         {
             Debug.LogError(RobotSteppingButton.GetComponent <Image>().enabled);
             RobotSteppingButton.GetComponent <Image>().enabled = false;
             Debug.LogError(RobotSteppingButton.GetComponent <Image>().enabled);
             RobotSteppingMenu.Instance.Hide();
             SelectorMenu.Instance.gameObject.SetActive(true);
         }
         if (RobotSelector.Opened())
         {
             RobotSelector.Close(false);
             RobotSelectorButton.GetComponent <Image>().enabled = false;
         }
         UpdateVisibility();
     }
     else if (args.Event.State == SceneStateData.StateEnum.Started || args.Event.State == SceneStateData.StateEnum.Stopped)
     {
         UpdateBuildAndSaveBtns();
         UpdateRobotSelectorAndSteppingButtons();
     }
 }
Пример #2
0
    /// <summary>
    ///
    /// </summary>
    public virtual void DeactivateAllSubmenus()
    {
        SelectorMenu.Instance.gameObject.SetActive(true);
        if (RenameDialog.Visible)
        {
            RenameDialog.Cancel();
        }
        TransformMenu.Instance.Hide();
        RobotSteppingMenu.Instance.Hide();

        MainSettingsMenu.Instance.Hide();
        ActionObjectMenu.Instance.Hide();

        FavoritesButtons.SetActive(false);
        HomeButtons.SetActive(false);
        UtilityButtons.SetActive(false);
        AddButtons.SetActive(false);
        RobotButtons.SetActive(false);

        FavoritesButton.GetComponent <Image>().enabled = false;
        RobotButton.GetComponent <Image>().enabled     = false;
        AddButton.GetComponent <Image>().enabled       = false;
        UtilityButton.GetComponent <Image>().enabled   = false;
        HomeButton.GetComponent <Image>().enabled      = false;

        MainSettingsButton.GetComponent <Image>().enabled  = false;
        MoveButton.GetComponent <Image>().enabled          = false;
        MoveButton2.GetComponent <Image>().enabled         = false;
        OpenMenuButton.GetComponent <Image>().enabled      = false;
        RobotSelectorButton.GetComponent <Image>().enabled = false;
        RobotSteppingButton.GetComponent <Image>().enabled = false;
        RobotSelector.Close(false);
    }
Пример #3
0
 protected virtual void Start()
 {
     LockingEventsCache.Instance.OnObjectLockingEvent += OnObjectLockingEvent;
     SceneManager.Instance.OnRobotSelected            += OnRobotSelected;
     if (MoveButton != null && MoveButton2 != null)
     {
         MoveButton.SetDescription(MOVE_BTN_LABEL);
         MoveButton2.SetDescription(MOVE_BTN_LABEL);
     }
     if (RemoveButton != null)
     {
         RemoveButton.SetDescription(REMOVE_BTN_LABEL);
     }
     if (RenameButton != null)
     {
         RenameButton.SetDescription(RENAME_BTN_LABEL);
     }
     if (CalibrationButton != null)
     {
         CalibrationButton.SetDescription(CALIBRATION_BTN_LABEL);
     }
     if (OpenMenuButton != null)
     {
         OpenMenuButton.SetDescription(OPEN_MENU_BTN_LABEL);
     }
     if (RobotSteppingButton != null)
     {
         RobotSteppingButton.SetDescription(ROBOT_STEPPING_MENU_BTN_LABEL);
     }
     if (RobotSelectorButton != null)
     {
         RobotSelectorButton.SetDescription(ROBOT_SELECTOR_MENU_BTN_LABEL);
     }
 }
Пример #4
0
    public async void RobotSteppingButtonClick()
    {
        if (!SceneManager.Instance.SceneStarted)
        {
            Notifications.Instance.ShowNotification("Failed to open robot manipulation menu", "Scene offline");
            return;
        }
        else if (!SceneManager.Instance.IsRobotAndEESelected())
        {
            OpenRobotSelector(RobotSteppingButtonClick);
            return;
        }
        if (!SelectorMenu.Instance.gameObject.activeSelf && !RobotSteppingButton.GetComponent <Image>().enabled) //other menu/dialog opened
        {
            SetActiveSubmenu(CurrentSubmenuOpened);                                                              //close all other opened menus/dialogs and takes care of red background of buttons
        }

        if (RobotSteppingButton.GetComponent <Image>().enabled)  //hide menu
        {
            RobotSteppingButton.GetComponent <Image>().enabled = false;
            SelectorMenu.Instance.gameObject.SetActive(true);
            RobotSteppingMenu.Instance.Hide();
        }
        else     //open menu
        {
            ActionObject robot = SceneManager.Instance.GetActionObject(SceneManager.Instance.SelectedRobot.GetId());
            RobotSteppingButton.GetComponent <Image>().enabled = true;
            SelectorMenu.Instance.gameObject.SetActive(false);
            RobotSteppingMenu.Instance.Show();
        }
    }
Пример #5
0
 private void UpdateRobotSelectorAndSteppingButtons()
 {
     if (SceneManager.Instance.IsRobotAndEESelected())
     {
         RobotSteppingButton.SetInteractivity(SceneManager.Instance.SceneStarted &&
                                              !SceneManager.Instance.GetActionObject(SceneManager.Instance.SelectedRobot.GetId()).IsLockedByOtherUser,
                                              SceneManager.Instance.SceneStarted ? $"{ROBOT_STEPPING_MENU_BTN_LABEL}\n(robot used by {SceneManager.Instance.SelectedRobot.LockOwner()})" : $"{ROBOT_STEPPING_MENU_BTN_LABEL}\n(scene offline)");
     }
     else
     {
         RobotSteppingButton.SetInteractivity(SceneManager.Instance.SceneStarted, $"{ROBOT_STEPPING_MENU_BTN_LABEL}\n(scene offline)");
     }
     RobotSelectorButton.SetInteractivity(SceneManager.Instance.SceneStarted, $"{ROBOT_SELECTOR_MENU_BTN_LABEL}\n(scene offline)");
 }