Example #1
0
        private GUIManager(Game game, ContentManager cont)
        {
            myMenus            = new ArrayList();
            myGame             = game;
            myContentManager   = cont;
            myGameStarted      = false;
            myInventoryShowing = false;

            myFontManager = FontManager.getFontManager(cont);

            //Construct the initial main menu
            myCurrentMenu = new Menu(cont,
                                     "splash",
                                     new Rectangle(0, 0, 800, 600),
                                     null);

            myCurrentMenu.addCustomItem("pPlay", 165, 150, 150, 50, Color.White, Color.Black, Color.Brown);
            myCurrentMenu.addCustomItem("cControls", 165, 250, 150, 50, Color.White, Color.Black, Color.Brown);
            myCurrentMenu.addCustomItem("lLoad", 165, 350, 150, 50, Color.White, Color.Black, Color.Brown);
            myCurrentMenu.addCustomItem("cCredits", 450, 150, 150, 50, Color.White, Color.Black, Color.Brown);
            myCurrentMenu.addCustomItem("aAbout", 450, 250, 150, 50, Color.White, Color.Black, Color.Brown);
            myCurrentMenu.addCustomItem("qQuit", 450, 350, 150, 50, Color.White, Color.Black, Color.Brown);


            myMenus.Add(myCurrentMenu);

            //Construct the player GUI
            //this will not be in the menu list but in its own object
            //this is because the player GUI needs to be displayed simultaneously
            //with other in game menus
            myPlayerGUI = new Menu(cont,
                                   "playerGUI",
                                   new Rectangle(0, 0, 800, 600),
                                   null);

            myPlayerGUI.addItem(@"GUITiles\inventoryButton", 30, 500, 80, 75, Color.White, Color.Green);
            myPlayerGUI.addItem(@"GUITiles\questLogButton", 110, 500, 80, 75, Color.White, Color.Orange);
            myPlayerGUI.addItem(@"GUITiles\settingsButton", 190, 500, 80, 75, Color.White, Color.Red);
            myPlayerGUI.addItem(@"GUITiles\quitButton", 270, 500, 80, 75, Color.White, Color.Purple);

            //Construct controls screen
            myCurrentMenu = new Menu(cont,
                                     "ControlsMenuScreen",
                                     new Rectangle(0, 0, 800, 600),
                                     null);

            myCurrentMenu.addCustomItem("bBack", 700, 500, 150, 50, Color.White, Color.Black, Color.Brown);

            myMenus.Add(myCurrentMenu);

            //Construct about screen
            myCurrentMenu = new Menu(cont,
                                     "AboutMenuScreen",
                                     new Rectangle(0, 0, 800, 600),
                                     null);

            myCurrentMenu.addCustomItem("bBack", 700, 500, 150, 50, Color.White, Color.Black, Color.Brown);

            myMenus.Add(myCurrentMenu);

            //Construct controls screen
            myCurrentMenu = new Menu(cont,
                                     "StoryMenuScreen",
                                     new Rectangle(0, 0, 800, 600),
                                     null);

            myCurrentMenu.addCustomItem("bBack", 700, 500, 150, 50, Color.White, Color.Black, Color.Brown);

            myMenus.Add(myCurrentMenu);

            //Create in game pause menu.
            myCurrentMenu = new Menu(cont,
                                     "pauseScreen",
                                     new Rectangle(0, 0, 800, 600),
                                     null);

            myCurrentMenu.addCustomItem("aAbout", 350, 60, 150, 50, Color.White, Color.Black, Color.Brown);
            myCurrentMenu.addCustomItem("bBack", 350, 110, 150, 50, Color.White, Color.Black, Color.Brown);
            myCurrentMenu.addCustomItem("cControls", 350, 160, 150, 50, Color.White, Color.Black, Color.Brown);
            myCurrentMenu.addCustomItem("cCredits", 350, 210, 150, 50, Color.White, Color.Black, Color.Brown);
            myCurrentMenu.addCustomItem("lLoad", 350, 260, 150, 50, Color.White, Color.Black, Color.Brown);
            myCurrentMenu.addCustomItem("sSave", 350, 310, 150, 50, Color.White, Color.Black, Color.Brown);
            myCurrentMenu.addCustomItem("qQuit", 350, 460, 150, 50, Color.White, Color.Black, Color.Brown);


            myCurrentMenu.IsPauseMenu = true;

            myMenus.Add(myCurrentMenu);

            //set the current menu to the main menu which is index 0
            myCurrentIndex = "splash";

            myFloatingTextList    = new ArrayList();
            myInformationTextList = new ArrayList();

            foreach (Menu aMenu in myMenus)
            {
                if (aMenu.Name == myCurrentIndex)
                {
                    myCurrentMenu = aMenu;
                }
            }


            myQuestLogRectangle         = new Rectangle(200, 100, 500, 400);
            myQuestLogTextAreaRectangle = new Rectangle(myQuestLogRectangle.X + (myQuestLogRectangle.Width / 2),
                                                        myQuestLogRectangle.Y,
                                                        250,
                                                        400);
            //myQuestLogTextArea = new TextArea(cont, myQuestLogTextAreaRectangle, Color.White, Color.Black, "quest");
            myQuestLogMenu  = new QuestLogMenu(cont, @"GUITiles/questLogLayout", myQuestLogRectangle, null);
            myInventoryMenu = new InventoryMenu(cont, @"GUITiles/layout", new Rectangle(200, 100, 500, 350), "Player");
            myShopMenu      = new ShopMenu(game, cont, @"GUITiles/layout", new Rectangle(120, 100, 500, 350), "Shop");
        }