示例#1
0
        private Menu CreateMapSelectionMenu()
        {
            SpriteFont font = Load.LoadFont("Fonts/font");
            MapList list = Content.Load<MapList>("XmlData/Maps/maplist");
            List<MenuItem> items = new List<MenuItem>();

            for (int i = 0; i < list.allMaps.Count; i++)
            {
                MenuItem menuItem = new MenuItem("Menus/Buttons/button", Rectangle.Empty);
                menuItem.Text.Text.Append(list.allMaps[i]);
                menuItem.Text.Font = font;
                menuItem.Text.Color = Color.DarkOrange;
                menuItem.Text.Visible = true;
                menuItem.AddText();
                menuItem.Color = Color.GhostWhite;
                menuItem.ClickedAction = () =>
                    {
                        SelectedMap(menuItem.Text.Text.ToString());
                        StartGame();
                    };
                items.Add(menuItem);
            }

            BasicMenu menu = new ListItemMenu("Menus/Backgrounds/background",
                                            new Rectangle(0, 0, displayWidth, displayHeight),
                                            "Map Selection",listItems: items);
            menu.Color = Color.PaleVioletRed;

            Button previous, next;
            TextButton back;
            previous = new Button("Graphics/leftArrow", Rectangle.Empty) { Name = "previous button" };
            next = new Button("Graphics/rightArrow", Rectangle.Empty) { Name = "next button" };
            back = new TextButton("Menus/Buttons/Button", new Rectangle(50, 400, 50, 20)) { Name = "back button" };
            back.Text.Text.Append("BACK");
            back.Text.Font = font;
            back.Text.Position = new Vector2(back.X_Coordinate + 5, back.Y_Coordinate);
            back.Text.Visible = true;
            back.Text.Color = Color.Chartreuse;
            back.Visible = true;
            back.AddText();
            menu.TextButtons.Add(back);

            ListItemMenu itemMenu = menu as ListItemMenu;
            previous.ClickedAction = () => { itemMenu.priviousItem(); };
            next.ClickedAction = () => { itemMenu.nextItem(); };
            back.ClickedAction = () => { menuOrganizer.Nav_PreviousMenu(); };

            IEnumerable<Button> navButtons = new Button[2] { previous, next };
            itemMenu.NavButtons.AddRange(navButtons);
            itemMenu.CreatePlan = () =>
            {
                Rectangle selectedItemPosition, nextItemPosition, previousItemPosition,
                    nextButtonPosition, previousButtonPosition;

                previousItemPosition = new Rectangle(130, 200, 125, 100);
                selectedItemPosition = new Rectangle(260, 175, 225, 150);
                nextItemPosition = new Rectangle(490, 200, 125, 100);

                previousButtonPosition = new Rectangle(25, 225, 50, 50);
                nextButtonPosition = new Rectangle(670, 225, 50, 50);

                FloorPlan floorPlan = new FloorPlan();

                floorPlan.AddDrawling(itemMenu.Previous, new BaseObject  (string.Empty, previousItemPosition));
                floorPlan.AddDrawling(itemMenu.Selected, new BaseObject(string.Empty, selectedItemPosition));
                floorPlan.AddDrawling(itemMenu.Next, new BaseObject(string.Empty, nextItemPosition));
                floorPlan.AddDrawling(itemMenu.PreviousButton, new BaseObject(string.Empty, previousButtonPosition));
                floorPlan.AddDrawling(itemMenu.NextButton, new BaseObject(string.Empty, nextButtonPosition));

                return floorPlan;
            };
            itemMenu.PositionAnBind();

            return menu;
        }
示例#2
0
        private Menu CreateGameSelectionMenu()
        {
            SpriteFont font = Load.LoadFont("Fonts/font");
            List<MenuItem> items = new List<MenuItem>();
            MenuItem item = new MenuItem("Menus/Buttons/button", Rectangle.Empty);
            item.Text.Text.Append("CLASSIC MAZE");
            item.Text.Font = font;
            item.Text.Visible = true;
            item.Text.Color = Color.Aquamarine;
            item.AddText();
            item.Color = Color.Chartreuse;
            item.ClickedAction = () =>
                {
                    SelectedGame(item.Text.Text.ToString());
                    ActivateMenu("Map Selection");
                };
            items.Add(item);

            BasicMenu menu = new ListItemMenu("Menus/Backgrounds/background",
                                            new Rectangle(0, 0, displayWidth, displayHeight),
                                            "Map Selection", listItems: items);
            menu.Color = Color.MediumVioletRed;

            Button previous, next;
            TextButton back;
            previous = new Button("Graphics/leftArrow", Rectangle.Empty) { Name = "previous button" };
            next = new Button("Graphics/rightArrow", Rectangle.Empty) { Name = "next button" };
            back = new TextButton("Menus/Buttons/Button", new Rectangle(50, 400, 50,20)) { Name = "back button" };
            back.Text.Text.Append("BACK");
            back.Text.Font = font;
            back.Text.Position = new Vector2(back.X_Coordinate + 5, back.Y_Coordinate);
            back.Text.Visible = true;
            back.Text.Color = Color.Black;
            back.Visible = true;
            back.AddText();
            menu.TextButtons.Add(back);

            ListItemMenu itemMenu = menu as ListItemMenu;
            previous.ClickedAction = () => { itemMenu.priviousItem(); };
            next.ClickedAction = () => { itemMenu.nextItem(); };
            back.ClickedAction = () => { menuOrganizer.Nav_PreviousMenu(); };

            IEnumerable<Button> navButtons = new Button[2] { previous, next, };
            itemMenu.NavButtons.AddRange(navButtons);
            itemMenu.CreatePlan = () =>
            {
                Rectangle selectedItemPosition, nextItemPosition, previousItemPosition,
                    nextButtonPosition, previousButtonPosition;

                previousItemPosition = new Rectangle(130, 200, 125, 100);
                selectedItemPosition = new Rectangle(260, 175, 225, 150);
                nextItemPosition = new Rectangle(490, 200, 125, 100);

                previousButtonPosition = new Rectangle(25, 225, 50, 50);
                nextButtonPosition = new Rectangle(670, 225, 50, 50);

                FloorPlan floorPlan = new FloorPlan();

                floorPlan.AddDrawling(itemMenu.Previous, new BaseObject(string.Empty, previousItemPosition));
                floorPlan.AddDrawling(itemMenu.Selected, new BaseObject(string.Empty, selectedItemPosition));
                floorPlan.AddDrawling(itemMenu.Next, new BaseObject(string.Empty, nextItemPosition));
                floorPlan.AddDrawling(itemMenu.PreviousButton, new BaseObject(string.Empty, previousButtonPosition));
                floorPlan.AddDrawling(itemMenu.NextButton, new BaseObject(string.Empty, nextButtonPosition));

                return floorPlan;
            };
            itemMenu.PositionAnBind();

            return menu;
        }