コード例 #1
0
ファイル: MenuController.cs プロジェクト: liamcgd/Battleship
        // '' <summary>
        // '' Handles input for the specified menu.
        // '' </summary>
        // '' <param name="menu">the identifier of the menu being processed</param>
        // '' <param name="level">the vertical level of the menu</param>
        // '' <param name="xOffset">the xoffset of the menu</param>
        // '' <returns>false if a clicked missed the buttons. This can be used to check prior menus.</returns>
        private static bool HandleMenuInput(int menu, int level, int xOffset)
        {
            if (SwinGame.KeyTyped(KeyCode.EscapeKey))
            {
                GameController.EndCurrentState();
                return(true);
            }

            if (SwinGame.MouseClicked(MouseButton.LeftButton))
            {
                int i;
                for (i = 0; (i <= (_menuStructure[menu].Length - 1)); i++)
                {
                    // IsMouseOver the i'th button of the menu
                    if (MenuController.IsMouseOverMenu(i, level, xOffset))
                    {
                        MenuController.PerformMenuAction(menu, i);
                        return(true);
                    }
                }

                if ((level > 0))
                {
                    // none clicked - so end this sub menu
                    GameController.EndCurrentState();
                }
            }

            return(false);
        }