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(); } }
/// <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); }
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); } }
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(); } }
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)"); }