private void SwitchToMenu(PLEMenuType i_newMenu) { if (i_newMenu != currentDisplayedMenu) { HideAllMenusExceptMain(); ConfirmMenu confirmMenu = MenuManager.Instance.GetMenuByName(Strings.MenuStrings.CONFIRM) as ConfirmMenu; MenuManager.Instance.DoTransition(confirmMenu, Transition.HIDE, new Effect[] { Effect.INSTANT }); Menu newMenu = GetMenu(i_newMenu); MenuManager.Instance.DoTransition(this, Transition.SHOW, new Effect[] { Effect.INSTANT }); MenuManager.Instance.DoTransition(newMenu, Transition.SHOW, new Effect[] { Effect.INSTANT }); currentDisplayedMenu = i_newMenu; bool allowCameraMovement = !IsMenu(currentDisplayedMenu, PLEMenuType.SAVE, PLEMenuType.LEVELSELECT, PLEMenuType.TEST); levelEditor.ToggleCameraController(allowCameraMovement); bool hideSideBar = IsMenu(currentDisplayedMenu, PLEMenuType.HELP, PLEMenuType.LEVELSELECT, PLEMenuType.TEST); if (hideSideBar) { helpSideBarToggler.HidePane(); } helpSideBarToggler.LockPane(hideSideBar); } SetMenuButtonInteractabilityByState(); }
public PLEMenu GetMenu(PLEMenuType i_menu) { switch (i_menu) { case PLEMenuType.MAIN: return(this); case PLEMenuType.PROPS: return(propsEditorMenu); case PLEMenuType.SPAWN: return(spawnsEditorMenu); case PLEMenuType.FLOOR: return(floorEditorMenu); case PLEMenuType.WAVE: return(waveEditorMenu); case PLEMenuType.HELP: return(helpEditorMenu); case PLEMenuType.SAVE: return(saveEditorMenu); case PLEMenuType.TEST: return(testEditorMenu); case PLEMenuType.STEAM: return(steamMenu); case PLEMenuType.LEVELSELECT: return(levelSelectEditorMenu); case PLEMenuType.EXIT: return(exitMenu); default: return(null); } }
private bool IsMenu(PLEMenuType menuInQuestion, params PLEMenuType[] potentialMatches) { foreach (PLEMenuType menu in potentialMatches) { if (menuInQuestion == menu) { return(true); } } return(false); }
public void SelectMenuItem(PLEMenuType menu) { SFXManager.Instance.Play(SFXType.UI_Click); MenuSelectable selectedMenuItem = menuToggles.Find(menuToggle => menuToggle.menu == menu); Selectable selectedSelectable = selectedMenuItem.selectable; if (menu != currentDisplayedMenu) { selectedSelectable.Select(); SwitchToMenu(menu); } CurrentEventSystem.SetSelectedGameObject(selectedSelectable.gameObject); }
public void SetUpMenus() { pleMenus.Clear(); pleMenus = new List <PLEMenu>() { floorEditorMenu, propsEditorMenu, spawnsEditorMenu, waveEditorMenu, testEditorMenu, saveEditorMenu, levelSelectEditorMenu, steamMenu, helpEditorMenu, exitMenu }; //Hide menus that aren't need to be shown yet pleMenus.ForEach(menu => { MenuManager.Instance.DoTransition(menu, Transition.HIDE, new Effect[] { Effect.INSTANT }); menu.Canvas.SetActive(false); menu.CanvasGroup.alpha = 0.0F; menu.CanvasGroup.blocksRaycasts = false; menu.CanvasGroup.interactable = false; }); //show the main/floor menus MenuManager.Instance.DoTransition(this, Transition.SHOW, new Effect[] { Effect.INSTANT }); MenuManager.Instance.DoTransition(floorEditorMenu, Transition.SHOW, new Effect[] { Effect.INSTANT }); currentDisplayedMenu = PLEMenuType.FLOOR; OpenFloorSystemAction(); levelEditor.gridController.SetGridVisiblity(true); levelEditor.ToggleCameraController(true); SetMenuButtonInteractabilityByState(); }
public MenuSelectable(PLEMenuType menu, Selectable selectable) { this.menu = menu; this.selectable = selectable; }
/// <summary> /// Only for Specific Menu /// </summary> public void SetMenuButtonInteractabilityByState(PLEMenuType menuToSet) { GetMenu(menuToSet).SetMenuButtonInteractabilityByState(); }