コード例 #1
0
ファイル: Menu.cs プロジェクト: csatari/pixeek
        public static void CreateMainMenu()
        {
            MenuElement       root = new MenuElement();
            MenuSpriteElement bg   = new MenuSpriteElement("GUI/menu_bg.jpg", new Rectangle(0, 0, GameManager.Width, GameManager.Height));

            root.AddChild(bg);

            {
                Rectangle exitRect = new Rectangle(1, 1, 151, 71);
                MenuButtonElement exitButton = new MenuButtonElement(exitRect, delegate()
                {
                    GameManager.Instance.Exit();
                });
                exitButton.AddChild(new MenuSpriteElement("GUI/button_bg", exitRect, "EXIT"));
                bg.AddChild(exitButton);
            }
            {
                Rectangle playRect = new Rectangle(Convert.ToInt32(0.65 * GameManager.Width), Convert.ToInt32(0.35 * GameManager.Height),
                                                   Convert.ToInt32(0.265 * GameManager.Width), Convert.ToInt32(0.104 * GameManager.Height));
                MenuButtonElement playButton = new MenuButtonElement(playRect,
                                                                     delegate()
                {
                    //GameManager.Instance.SwitchScene(new Prototype());
                    //GameManager.Instance.SwitchScene(new Game.GameModel(imageDatabase));
                    Menu.CreateNewGameMenu();
                }
                                                                     );
                bg.AddChild(playButton);
                playButton.AddChild(new MenuSpriteElement("GUI/newgame_button.png", playRect));
            }

            GameManager.Instance.SwitchScene(new Menu(root));
        }
コード例 #2
0
ファイル: Menu.cs プロジェクト: csatari/pixeek
        public static void CreateGameOverMenu(bool win, int point, string time)
        {
            MenuElement       root = new MenuElement();
            MenuSpriteElement bg   = new MenuSpriteElement("GUI/menu_bg.jpg", new Rectangle(0, 0, GameManager.Width, GameManager.Height));

            //root.AddChild(bg);

            if (win)
            {
                if (time != null)
                {
                    root.AddChild(new MenuSpriteElement(null, new Rectangle(Convert.ToInt32(0.3125 * GameManager.Width),
                                                                            Convert.ToInt32(0.28 * GameManager.Height),
                                                                            Convert.ToInt32(0.3125 * GameManager.Width),
                                                                            Convert.ToInt32(0.097 * GameManager.Height)), "YOU WON!\nYou gained " + point
                                                        + " points. Remaining time: " + time));
                }
                else
                {
                    root.AddChild(new MenuSpriteElement(null, new Rectangle(Convert.ToInt32(0.3125 * GameManager.Width),
                                                                            Convert.ToInt32(0.28 * GameManager.Height),
                                                                            Convert.ToInt32(0.3125 * GameManager.Width),
                                                                            Convert.ToInt32(0.097 * GameManager.Height)), "YOU WON!\nYou gained " + point
                                                        + " points."));
                }
            }
            else
            {
                root.AddChild(new MenuSpriteElement(null, new Rectangle(Convert.ToInt32(0.3125 * GameManager.Width),
                                                                        Convert.ToInt32(0.28 * GameManager.Height),
                                                                        Convert.ToInt32(0.3125 * GameManager.Width),
                                                                        Convert.ToInt32(0.097 * GameManager.Height)), "GAME OVER!\nYou gained " + point
                                                    + " points."));
            }


            Rectangle exitRect = new Rectangle(Convert.ToInt32(0.3125 * GameManager.Width),
                                               Convert.ToInt32(0.4167 * GameManager.Height),
                                               Convert.ToInt32(0.3125 * GameManager.Width),
                                               Convert.ToInt32(0.07 * GameManager.Height));
            MenuButtonElement exitButton = new MenuButtonElement(exitRect, delegate()
            {
                Menu.CreateMainMenu();
            });

            exitButton.AddChild(new MenuSpriteElement("GUI/button_bg", exitRect, "BACK TO MAIN MENU"));
            root.AddChild(exitButton);

            GameManager.Instance.SwitchScene(new Menu(root));
        }
コード例 #3
0
        public override void DrawMenu()
        {
            MenuSpriteElement bg = new MenuSpriteElement("GUI/scoreboard_bg.jpg", new Rectangle(0, 0, GameManager.Width, GameManager.Height));

            Root.AddChild(bg);

            // exit button
            {
                Rectangle exitRect = new Rectangle(GameManager.Width - 152, 1, 151, 71);
                MenuButtonElement exitButton = new MenuButtonElement(exitRect, delegate()
                {
                    difficultySelector.SelectedChange -= DifficultyGamemodeSelector_SelectedChange;
                    gamemodeSelector.SelectedChange   -= DifficultyGamemodeSelector_SelectedChange;
                    Menu.GoToScene(MainMenu.Instance);
                });
                exitButton.AddChild(new MenuSpriteElement("GUI/button_bg", exitRect, "BACK"));
                bg.AddChild(exitButton);
            }
            // difficulty selector
            {
                difficultySelector = new MainMenuPlainSelector <Difficulty>(Difficulty.NORMAL);
                bg.AddChild(difficultySelector);

                difficultySelector.BaseX  = Convert.ToInt32(0.279 * GameManager.Width);
                difficultySelector.BaseY  = Convert.ToInt32(0.359 * GameManager.Height);
                difficultySelector.YDiff  = Convert.ToInt32(0.085 * GameManager.Height);
                difficultySelector.Width  = Convert.ToInt32(0.12 * GameManager.Width);
                difficultySelector.Height = Convert.ToInt32(0.077 * GameManager.Height);

                difficultySelector.AddElement("EASY", Difficulty.EASY);
                difficultySelector.AddElement("NORMAL", Difficulty.NORMAL);
                difficultySelector.AddElement("HARD", Difficulty.HARD);

                difficultySelector.SelectedChange += DifficultyGamemodeSelector_SelectedChange;
            }

            //gamemode selector
            {
                gamemodeSelector = new MainMenuPlainSelector <GameMode>(GameMode.NORMAL);
                bg.AddChild(gamemodeSelector);

                gamemodeSelector.BaseX  = Convert.ToInt32(0.077 * GameManager.Width);
                gamemodeSelector.BaseY  = Convert.ToInt32(0.359 * GameManager.Height);
                gamemodeSelector.YDiff  = Convert.ToInt32(0.085 * GameManager.Height);
                gamemodeSelector.Width  = Convert.ToInt32(0.15 * GameManager.Width);
                gamemodeSelector.Height = Convert.ToInt32(0.077 * GameManager.Height);

                gamemodeSelector.AddElement("NORMAL", GameMode.NORMAL);
                gamemodeSelector.AddElement("TIME", GameMode.TIME);

                gamemodeSelector.SelectedChange += DifficultyGamemodeSelector_SelectedChange;
            }
            //scores
            {
                scoreboardElements = new ScoreboardElements();
                bg.AddChild(scoreboardElements);

                scoreboardElements.BaseX  = Convert.ToInt32(0.4 * GameManager.Width);
                scoreboardElements.BaseY  = Convert.ToInt32(0.2 * GameManager.Height);
                scoreboardElements.NameX  = Convert.ToInt32(0.5 * GameManager.Width);
                scoreboardElements.NameY  = Convert.ToInt32(0.2 * GameManager.Height);
                scoreboardElements.ScoreX = Convert.ToInt32(0.75 * GameManager.Width);
                scoreboardElements.ScoreY = Convert.ToInt32(0.2 * GameManager.Height);
                scoreboardElements.YDiff  = Convert.ToInt32(0.05 * GameManager.Height);
                scoreboardElements.Width  = Convert.ToInt32(0.12 * GameManager.Width);
                scoreboardElements.Height = Convert.ToInt32(0.077 * GameManager.Height);
            }
            //loading
            {
                Rectangle infoRect = new Rectangle(Convert.ToInt32(0.5 * GameManager.Width),
                                                   Convert.ToInt32(0.45 * GameManager.Height),
                                                   Convert.ToInt32(0.3125 * GameManager.Width),
                                                   Convert.ToInt32(0.07 * GameManager.Height));
                infoElement = new MenuSpriteElement(null, infoRect, "");
                Root.AddChild(infoElement);
            }


            difficultySelector.Selected = Difficulty.EASY;
            gamemodeSelector.Selected   = GameMode.NORMAL;
            DifficultyGamemodeSelector_SelectedChange(this, EventArgs.Empty);
        }
コード例 #4
0
ファイル: MainMenu.cs プロジェクト: csatari/pixeek
        public override void DrawMenu()
        {
            MenuSpriteElement bg = new MenuSpriteElement("GUI/menu_bg.jpg", new Rectangle(0, 0, GameManager.Width, GameManager.Height));

            Root.AddChild(bg);

            {
                Rectangle exitRect = new Rectangle(1, 1, 151, 71);
                MenuButtonElement exitButton = new MenuButtonElement(exitRect, delegate()
                {
                    GameManager.Instance.Exit();
                });
                exitButton.AddChild(new MenuSpriteElement("GUI/button_bg", exitRect, "EXIT"));
                bg.AddChild(exitButton);
            }
            {
                Rectangle playRect = new Rectangle(Convert.ToInt32(0.64 * GameManager.Width), Convert.ToInt32(0.14 * GameManager.Height),
                                                   Convert.ToInt32(0.265 * GameManager.Width), Convert.ToInt32(0.104 * GameManager.Height));
                MenuButtonElement playButton = new MenuButtonElement(playRect,
                                                                     delegate()
                {
                    NewGameMenu.Tutorial     = false;
                    NewGameMenu.SinglePlayer = true;
                    Menu.GoToScene(NewGameMenu.Instance);
                }
                                                                     );
                bg.AddChild(playButton);
                playButton.AddChild(new MenuSpriteElement("GUI/singleplayer_button.png", playRect));
            }
            {
                Rectangle playRect = new Rectangle(Convert.ToInt32(0.635 * GameManager.Width), Convert.ToInt32(0.31 * GameManager.Height),
                                                   Convert.ToInt32(0.26 * GameManager.Width), Convert.ToInt32(0.09 * GameManager.Height));
                MenuButtonElement playButton = new MenuButtonElement(playRect,
                                                                     delegate()
                {
                    NewGameMenu.Tutorial     = false;
                    NewGameMenu.SinglePlayer = false;
                    Menu.GoToScene(NewGameMenu.Instance);
                }
                                                                     );
                bg.AddChild(playButton);
                playButton.AddChild(new MenuSpriteElement("GUI/multiplayer_button.png", playRect));
            }
            {
                Rectangle playRect = new Rectangle(Convert.ToInt32(0.63 * GameManager.Width), Convert.ToInt32(0.44 * GameManager.Height),
                                                   Convert.ToInt32(0.25 * GameManager.Width), Convert.ToInt32(0.08 * GameManager.Height));
                MenuButtonElement playButton = new MenuButtonElement(playRect,
                                                                     delegate()
                {
                    Menu.GoToScene(ScoreboardMenu.Instance);

                    // MultiPlayerGameCommunicator.Instance.NewFightGameListener(dele);
                }
                                                                     );
                bg.AddChild(playButton);
                playButton.AddChild(new MenuSpriteElement("GUI/scoreboard_button.png", playRect));
            }
            {
                Rectangle playRect = new Rectangle(Convert.ToInt32(0.63 * GameManager.Width), Convert.ToInt32(0.59 * GameManager.Height),
                                                   Convert.ToInt32(0.17 * GameManager.Width), Convert.ToInt32(0.08 * GameManager.Height));
                MenuButtonElement playButton = new MenuButtonElement(playRect,
                                                                     delegate()
                {
                    NewGameMenu.Tutorial     = true;
                    NewGameMenu.SinglePlayer = true;
                    Menu.GoToScene(NewGameMenu.Instance);

                    //MultiPlayerGameCommunicator.Instance.Registration("Albert", Game.GameMode.FIGHT, Game.Difficulty.EASY, new BoardShapes.BoardRectangle());
                    //MultiPlayerGameCommunicator.Instance.Registration("Geza", Game.GameMode.FIGHT, Game.Difficulty.EASY, new BoardShapes.BoardRectangle());
                }
                                                                     );
                bg.AddChild(playButton);
                playButton.AddChild(new MenuSpriteElement("GUI/tutorial_button.png", playRect));
            }
        }
コード例 #5
0
ファイル: GameOverMenu.cs プロジェクト: csatari/pixeek
        public override void DrawMenu()
        {
            MenuSpriteElement bg = new MenuSpriteElement("GUI/menu_bg.jpg", new Rectangle(0, 0, GameManager.Width, GameManager.Height));

            if (Win)
            {
                if (Time != null)
                {
                    DrawText("YOU WON!\nYou gained " + Point + " points. Remaining time: " + Time);
                }
                else
                {
                    DrawText("YOU WON!\nYou gained " + Point + " points.");
                }
            }
            else
            {
                DrawText("GAME OVER!\nYou gained " + Point + " points.");
            }

            //Kilépés gomb
            Rectangle exitRect = new Rectangle(Convert.ToInt32(0.3125 * GameManager.Width),
                                               Convert.ToInt32(0.2167 * GameManager.Height),
                                               Convert.ToInt32(0.3125 * GameManager.Width),
                                               Convert.ToInt32(0.07 * GameManager.Height));
            MenuButtonElement exitButton = new MenuButtonElement(exitRect, delegate()
            {
                Menu.GoToScene(MainMenu.Instance);
            });

            exitButton.AddChild(new MenuSpriteElement("GUI/button_bg", exitRect, "BACK TO MAIN MENU"));
            Root.AddChild(exitButton);

            if (Win)
            {
                //Névbeírás
                Rectangle nameRect = new Rectangle(Convert.ToInt32(0.3125 * GameManager.Width),
                                                   Convert.ToInt32(0.3167 * GameManager.Height),
                                                   Convert.ToInt32(0.2125 * GameManager.Width),
                                                   Convert.ToInt32(0.07 * GameManager.Height));

                MenuTextElement menuText = new MenuTextElement(nameRect);
                Root.AddChild(menuText);

                //Küldő gomb
                Rectangle sendButtonArea = new Rectangle(Convert.ToInt32(0.525 * GameManager.Width),
                                                         Convert.ToInt32(0.3167 * GameManager.Height),
                                                         Convert.ToInt32(0.1 * GameManager.Width),
                                                         Convert.ToInt32(0.07 * GameManager.Height));
                MenuButtonElement sendButton = new MenuButtonElement(sendButtonArea, delegate()
                {
                    SendScores(Point, menuText.Text);
                });
                sendButton.AddChild(new MenuSpriteElement("GUI/button_bg", sendButtonArea, "Send"));
                Root.AddChild(sendButton);

                //Információs szöveg
                Rectangle infoRect = new Rectangle(Convert.ToInt32(0.3125 * GameManager.Width),
                                                   Convert.ToInt32(0.4167 * GameManager.Height),
                                                   Convert.ToInt32(0.3125 * GameManager.Width),
                                                   Convert.ToInt32(0.07 * GameManager.Height));
                infoElement = new MenuSpriteElement(null, infoRect, "");
                Root.AddChild(infoElement);
            }
        }
コード例 #6
0
ファイル: Menu.cs プロジェクト: csatari/pixeek
        public static void CreateNewGameMenu()
        {
            MenuElement       root = new MenuElement();
            MenuSpriteElement bg   = new MenuSpriteElement("GUI/newgame_menu.jpg", new Rectangle(0, 0, GameManager.Width, GameManager.Height));

            root.AddChild(bg);

            {
                Rectangle exitRect = new Rectangle(GameManager.Width - 152, 1, 151, 71);
                MenuButtonElement exitButton = new MenuButtonElement(exitRect, delegate()
                {
                    CreateMainMenu();
                });
                exitButton.AddChild(new MenuSpriteElement("GUI/button_bg", exitRect, "BACK"));
                bg.AddChild(exitButton);
            }

            Rectangle musicRect = new Rectangle(GameManager.Width - 500, 1, 151, 71);
            MenuButtonElement musicButton = new MenuButtonElement(musicRect, delegate()
            {
                if (!music)
                {
                    music     = true;
                    musicText = "MUSIC: ON";
                }
                else
                {
                    music     = false;
                    musicText = "MUSIC: OFF";
                }
                musicSpriteElement.Text = musicText;
            });

            musicSpriteElement = new MenuSpriteElement("GUI/button_bg", musicRect, musicText);
            musicButton.AddChild(musicSpriteElement);
            bg.AddChild(musicButton);

            Rectangle vibRect = new Rectangle(GameManager.Width - 345, 1, 190, 71);
            MenuButtonElement vibButton = new MenuButtonElement(vibRect, delegate()
            {
                if (!vibration)
                {
                    vibration = true;
                    vibText   = "VIBRATION: ON";
                }
                else
                {
                    vibration = false;
                    vibText   = "VIBRATION: OFF";
                }
                vibrationSpriteElement.Text = vibText;
            });

            vibrationSpriteElement = new MenuSpriteElement("GUI/button_bg", vibRect, vibText);
            vibButton.AddChild(vibrationSpriteElement);
            bg.AddChild(vibButton);



            {
                DifficultySelector selector = new DifficultySelector();
                bg.AddChild(selector);

                int baseX = Convert.ToInt32(0.279 * GameManager.Width);
                int baseY = Convert.ToInt32(0.359 * GameManager.Height);
                int YDiff = Convert.ToInt32(0.085 * GameManager.Height);
                {
                    Rectangle easyRect = new Rectangle(baseX,
                                                       baseY + YDiff * 0,
                                                       Convert.ToInt32(0.078 * GameManager.Width),
                                                       Convert.ToInt32(0.077 * GameManager.Height));
                    MenuButtonElement easyButton = new MenuButtonElement(easyRect, delegate()
                    {
                        selectedDifficulty = Game.Difficulty.EASY;
                    });
                    easyButton.AddChild(new MenuSpriteElement(null, easyRect, "EASY", 1.5f));
                    selector.AddElementForDifficulty(Game.Difficulty.EASY, easyButton);
                }

                {
                    Rectangle easyRect = new Rectangle(baseX, baseY + YDiff * 1, Convert.ToInt32(0.078 * GameManager.Width), Convert.ToInt32(0.077 * GameManager.Height));
                    MenuButtonElement easyButton = new MenuButtonElement(easyRect, delegate()
                    {
                        selectedDifficulty = Game.Difficulty.NORMAL;
                    });
                    easyButton.AddChild(new MenuSpriteElement(null, easyRect, "NORMAL", 1.5f));
                    selector.AddElementForDifficulty(Game.Difficulty.NORMAL, easyButton);
                }

                {
                    Rectangle easyRect = new Rectangle(baseX, baseY + YDiff * 2, Convert.ToInt32(0.078 * GameManager.Width), Convert.ToInt32(0.077 * GameManager.Height));
                    MenuButtonElement easyButton = new MenuButtonElement(easyRect, delegate()
                    {
                        selectedDifficulty = Game.Difficulty.HARD;
                    });
                    easyButton.AddChild(new MenuSpriteElement(null, easyRect, "HARD", 1.5f));
                    selector.AddElementForDifficulty(Game.Difficulty.HARD, easyButton);
                }
            }

            {
                GameModeSelector selector = new GameModeSelector();
                bg.AddChild(selector);

                int baseX = Convert.ToInt32(0.1 * GameManager.Width);
                int baseY = Convert.ToInt32(0.388 * GameManager.Height);
                int YDiff = Convert.ToInt32(0.085 * GameManager.Height);
                {
                    Rectangle easyRect = new Rectangle(baseX, baseY + YDiff * 0, Convert.ToInt32(0.078 * GameManager.Width), Convert.ToInt32(0.077 * GameManager.Height));
                    MenuButtonElement easyButton = new MenuButtonElement(easyRect, delegate()
                    {
                        selectedGameMode = Game.GameMode.NORMAL;
                    });
                    easyButton.AddChild(new MenuSpriteElement(null, easyRect, "NORMAL", 1.5f));
                    selector.AddElementForDifficulty(Game.GameMode.NORMAL, easyButton);
                }

                {
                    Rectangle easyRect = new Rectangle(baseX, baseY + YDiff * 1, Convert.ToInt32(0.078 * GameManager.Width), Convert.ToInt32(0.077 * GameManager.Height));
                    MenuButtonElement easyButton = new MenuButtonElement(easyRect, delegate()
                    {
                        selectedGameMode = Game.GameMode.ENDLESS;
                    });
                    easyButton.AddChild(new MenuSpriteElement(null, easyRect, "ENDLESS", 1.5f));
                    selector.AddElementForDifficulty(Game.GameMode.ENDLESS, easyButton);
                }

                {
                    Rectangle easyRect = new Rectangle(baseX, baseY + YDiff * 2, Convert.ToInt32(0.078 * GameManager.Width), Convert.ToInt32(0.077 * GameManager.Height));
                    MenuButtonElement easyButton = new MenuButtonElement(easyRect, delegate()
                    {
                        selectedGameMode = Game.GameMode.TIME;
                    });
                    easyButton.AddChild(new MenuSpriteElement(null, easyRect, "TIME", 1.5f));
                    selector.AddElementForDifficulty(Game.GameMode.TIME, easyButton);
                }
            }

            {
                Rectangle playRect = new Rectangle(Convert.ToInt32(0.78125 * GameManager.Width), Convert.ToInt32(0.444 * GameManager.Height), Convert.ToInt32(0.114 * GameManager.Width), Convert.ToInt32(0.0583 * GameManager.Height));
                MenuButtonElement playButton = new MenuButtonElement(playRect,
                                                                     delegate()
                {
                    //GameManager.Instance.SwitchScene(new Prototype());
                    GameManager.Instance.SwitchScene(new Game.GameModel(imageDatabase, selectedGameMode, selectedDifficulty, music, vibration));
                }
                                                                     );
                bg.AddChild(playButton);
                playButton.AddChild(new MenuSpriteElement("GUI/button_play.png", playRect));
            }

            GameManager.Instance.SwitchScene(new Menu(root));
        }
コード例 #7
0
ファイル: NewGameMenu.cs プロジェクト: csatari/pixeek
        public override void DrawMenu()
        {
            MenuSpriteElement bg = new MenuSpriteElement("GUI/newgame_menu.jpg", new Rectangle(0, 0, GameManager.Width, GameManager.Height));

            Root.AddChild(bg);

            // exit button
            {
                Rectangle exitRect = new Rectangle(GameManager.Width - 152, 1, 151, 71);
                MenuButtonElement exitButton = new MenuButtonElement(exitRect, delegate()
                {
                    Menu.GoToScene(MainMenu.Instance);
                });
                exitButton.AddChild(new MenuSpriteElement("GUI/button_bg", exitRect, "BACK"));
                bg.AddChild(exitButton);
            }

            // music settings
            {
                musicRect = new Rectangle(GameManager.Width - 500, 1, 151, 71);
                MenuButtonElement musicButton = new MenuButtonElement(musicRect, delegate()
                {
                    if (!music)
                    {
                        music     = true;
                        musicText = "MUSIC: ON";
                    }
                    else
                    {
                        music     = false;
                        musicText = "MUSIC: OFF";
                    }
                    musicSpriteElement.Text = musicText;
                });
                musicSpriteElement = new MenuSpriteElement("GUI/button_bg", musicRect, musicText);
                musicButton.AddChild(musicSpriteElement);
                bg.AddChild(musicButton);
            }

            //vibration settings
            {
                vibRect = new Rectangle(GameManager.Width - 345, 1, 190, 71);
                MenuButtonElement vibButton = new MenuButtonElement(vibRect, delegate()
                {
                    if (!vibration)
                    {
                        vibration = true;
                        vibText   = "VIBRATION: ON";
                    }
                    else
                    {
                        vibration = false;
                        vibText   = "VIBRATION: OFF";
                    }
                    vibrationSpriteElement.Text = vibText;
                });
                vibrationSpriteElement = new MenuSpriteElement("GUI/button_bg", vibRect, vibText);
                vibButton.AddChild(vibrationSpriteElement);
                bg.AddChild(vibButton);
            }

            // difficulty selector
            {
                difficultySelector = new MainMenuPlainSelector <Difficulty>(Difficulty.NORMAL);
                bg.AddChild(difficultySelector);

                difficultySelector.BaseX  = Convert.ToInt32(0.279 * GameManager.Width);
                difficultySelector.BaseY  = Convert.ToInt32(0.359 * GameManager.Height);
                difficultySelector.YDiff  = Convert.ToInt32(0.085 * GameManager.Height);
                difficultySelector.Width  = Convert.ToInt32(0.12 * GameManager.Width);
                difficultySelector.Height = Convert.ToInt32(0.077 * GameManager.Height);


                difficultySelector.AddElement("EASY", Difficulty.EASY);
                difficultySelector.AddElement("NORMAL", Difficulty.NORMAL);
                difficultySelector.AddElement("HARD", Difficulty.HARD);
            }

            //gamemode selector
            {
                gamemodeSelector = new MainMenuPlainSelector <GameMode>(GameMode.NORMAL);
                bg.AddChild(gamemodeSelector);

                gamemodeSelector.BaseX  = Convert.ToInt32(0.077 * GameManager.Width);
                gamemodeSelector.BaseY  = Convert.ToInt32(0.359 * GameManager.Height);
                gamemodeSelector.YDiff  = Convert.ToInt32(0.085 * GameManager.Height);
                gamemodeSelector.Width  = Convert.ToInt32(0.15 * GameManager.Width);
                gamemodeSelector.Height = Convert.ToInt32(0.077 * GameManager.Height);

                if (SinglePlayer)
                {
                    gamemodeSelector.AddElement("NORMAL", GameMode.NORMAL);
                    gamemodeSelector.AddElement("ENDLESS", GameMode.ENDLESS);
                    gamemodeSelector.AddElement("TIME", GameMode.TIME);
                    gamemodeSelector.Selected = GameMode.NORMAL;
                }
                else
                {
                    gamemodeSelector.AddElement("FIGHT", GameMode.FIGHT);
                    gamemodeSelector.AddElement("TIMER", GameMode.TIMER);
                    gamemodeSelector.Selected = GameMode.FIGHT;
                }
            }

            //play button
            {
                playRect = new Rectangle(Convert.ToInt32(0.78125 * GameManager.Width), Convert.ToInt32(0.444 * GameManager.Height), Convert.ToInt32(0.114 * GameManager.Width), Convert.ToInt32(0.0583 * GameManager.Height));
                MenuButtonElement playButton = new MenuButtonElement(playRect,
                                                                     delegate()
                {
                    if (gamemodeSelector.Selected == GameMode.FIGHT || gamemodeSelector.Selected == GameMode.TIMER)
                    {
                        return;                                                                                                 //nincs megvalósítva a multiplayer :(
                    }
                    gameModel = new Game.GameModel(MainMenu.imageDatabase, gamemodeSelector.Selected, difficultySelector.Selected, music, vibration, null, null);
                    NewGame(gamemodeSelector.Selected, difficultySelector.Selected, music, vibration);
                    GameManager.Instance.SwitchScene(gameModel);
                }
                                                                     );
                bg.AddChild(playButton);
                playButton.AddChild(new MenuSpriteElement("GUI/button_play.png", playRect));
            }

            if (NewGameMenu.Tutorial)
            {
                //tutorial
                tutorial = new TutorialElement();

                bg.AddChild(tutorial);

                tutorial.AddRectangle(new Point((GameManager.Width / 2) + 50, GameManager.Height / 3), new Point((GameManager.Width / 2) + 50, GameManager.Height / 3),
                                      "This is the first place you see when you want to play.");
                tutorial.AddRectangle(new Point(gamemodeSelector.BaseX, gamemodeSelector.BaseY), new Point(gamemodeSelector.BaseX + gamemodeSelector.Width, gamemodeSelector.BaseY + gamemodeSelector.GetHeight()),
                                      "Here you can select the gamemode you want");
                tutorial.AddRectangle(new Point(gamemodeSelector.BaseX, gamemodeSelector.BaseY), new Point(gamemodeSelector.BaseX + gamemodeSelector.Width, gamemodeSelector.BaseY + gamemodeSelector.GetHeightOfElement(1)),
                                      "In Normal mode you have a fixed number of images \nand you need to find them fast for higher scores");
                tutorial.AddRectangle(new Point(gamemodeSelector.BaseX, gamemodeSelector.BaseY + gamemodeSelector.GetHeightOfElement(1)), new Point(gamemodeSelector.BaseX + gamemodeSelector.Width, gamemodeSelector.BaseY + gamemodeSelector.GetHeightOfElement(2)),
                                      "In Endless mode you have infinite number of images for training");
                tutorial.AddRectangle(new Point(gamemodeSelector.BaseX, gamemodeSelector.BaseY + gamemodeSelector.GetHeightOfElement(2)), new Point(gamemodeSelector.BaseX + gamemodeSelector.Width, gamemodeSelector.BaseY + gamemodeSelector.GetHeightOfElement(3)),
                                      "In Time mode you have a fixed number of images \nbut only half minutes. Your score will be multiplied\nwith the seconds remaining");
                tutorial.AddRectangle(new Point(gamemodeSelector.BaseX, gamemodeSelector.BaseY), new Point(gamemodeSelector.BaseX + gamemodeSelector.Width, gamemodeSelector.BaseY + gamemodeSelector.GetHeight()),
                                      "Please select a gamemode!");

                tutorial.AddRectangle(new Point(difficultySelector.BaseX, difficultySelector.BaseY), new Point(difficultySelector.BaseX + difficultySelector.Width, difficultySelector.BaseY + difficultySelector.GetHeight()),
                                      "You can choose from difficulties, we have three here");
                tutorial.AddRectangle(new Point(difficultySelector.BaseX, difficultySelector.BaseY), new Point(difficultySelector.BaseX + difficultySelector.Width, difficultySelector.BaseY + gamemodeSelector.GetHeightOfElement(1)),
                                      "In easy mode you get less tasks and pure images");
                tutorial.AddRectangle(new Point(difficultySelector.BaseX, difficultySelector.BaseY + difficultySelector.GetHeightOfElement(1)), new Point(difficultySelector.BaseX + difficultySelector.Width, difficultySelector.BaseY + difficultySelector.GetHeightOfElement(2)),
                                      "In normal mode you get average tasks and \nsome of the images are rotated, blurred or colored");
                tutorial.AddRectangle(new Point(difficultySelector.BaseX, difficultySelector.BaseY + difficultySelector.GetHeightOfElement(2)), new Point(difficultySelector.BaseX + difficultySelector.Width, difficultySelector.BaseY + difficultySelector.GetHeightOfElement(3)),
                                      "In hard mode you get a lot of tasks and \nall of the images are rotated, blurred or colored");
                tutorial.AddRectangle(new Point(difficultySelector.BaseX, difficultySelector.BaseY), new Point(difficultySelector.BaseX + difficultySelector.Width, difficultySelector.BaseY + difficultySelector.GetHeight()),
                                      "Please choose a mode if the selected is not good for you");

                tutorial.AddRectangle(new Point(musicRect.Left, musicRect.Top), new Point(musicRect.Right, musicRect.Bottom),
                                      "You can set the music here, if you want");
                tutorial.AddRectangle(new Point(vibRect.Left, vibRect.Top), new Point(vibRect.Right, vibRect.Bottom),
                                      "And the vibration too");

                tutorial.AddRectangle(new Point(playRect.Left - 10, playRect.Top - 10), new Point(playRect.Right + 10, playRect.Bottom + 10),
                                      "If all set, please click on the Play button now");
                tutorial.ShowNextTutorial();
            }
        }