Ejemplo n.º 1
0
    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();
    }
Ejemplo n.º 2
0
    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);
        }
    }
Ejemplo n.º 3
0
 private bool IsMenu(PLEMenuType menuInQuestion, params PLEMenuType[] potentialMatches)
 {
     foreach (PLEMenuType menu in potentialMatches)
     {
         if (menuInQuestion == menu)
         {
             return(true);
         }
     }
     return(false);
 }
Ejemplo n.º 4
0
    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);
    }
Ejemplo n.º 5
0
    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();
    }
Ejemplo n.º 6
0
 public MenuSelectable(PLEMenuType menu, Selectable selectable)
 {
     this.menu       = menu;
     this.selectable = selectable;
 }
Ejemplo n.º 7
0
 /// <summary>
 /// Only for Specific Menu
 /// </summary>
 public void SetMenuButtonInteractabilityByState(PLEMenuType menuToSet)
 {
     GetMenu(menuToSet).SetMenuButtonInteractabilityByState();
 }