Ejemplo n.º 1
0
        public CreditsState(Game1 game, GraphicsDevice graphicsDevice, ContentManager content) : base(game, graphicsDevice, content)
        {
            _font = _content.Load <SpriteFont>("Components/Font");
            var buttonTexture     = _content.Load <Texture2D>("Components/Button");
            var backgroundTexture = _content.Load <Texture2D>("Components/Background");

            var background = new MenuBackground(backgroundTexture)
            {
                Position = new Vector2(0, 0)
            };


            var backButton = new Button(buttonTexture, _font)
            {
                Position = new Vector2(550, 570),
                Text     = "Go to main menu"
            };

            backButton.OnClick += BackButton_Click;

            navigationMenu = new NavigationMenu(new List <Component>
            {
                backButton,
            });
            _components = new List <Component>()
            {
                background,
                navigationMenu,
            };
            ;
        }
Ejemplo n.º 2
0
 public TitleScreen()
 {
     SoundManager.Instance.PlaySong("title");
     _title      = new MenuTitle(new Vector2(180, 100));
     _background = new MenuBackground(new Vector2(0, 0));
     _font       = FontManager.Instance.CreateNewDefaultFont();
 }
Ejemplo n.º 3
0
        /// <summary>
        /// The constructor for the Main Menu.
        /// </summary>
        public AboutScreenLayer() : base()
        {
            SetLayerAttributes();
            isTransparent = true;

            menuBackground = new MenuBackground();

            ConstructDrawingObjects();
        }
Ejemplo n.º 4
0
        /// <summary>
        /// The constructor for the Main Menu.
        /// </summary>
        public IntroStory(GameLayer cG) : base()
        {
            SetLayerAttributes();
            currentGame   = cG;
            isTransparent = true;

            menuBackground = new MenuBackground();

            ConstructDrawingObjects();
        }
Ejemplo n.º 5
0
      /// <summary>
      /// The constructor for the Main Menu.
      /// </summary>
      public PauseMenuLayer() : base()
      {
          SetLayerAttributes();

          menuBackground = new MenuBackground();

          ConstructDrawingObjects();

          ConstructSubMenus();
      }
Ejemplo n.º 6
0
        /// <summary>
        /// The constructor for the Main Menu.
        /// </summary>
        public MainMenuLayer(bool gameRunning) : base()
        {
            this.gameRunning = gameRunning;
            isTransparent    = gameRunning;
            SetLayerAttributes();

            menuBackground = new MenuBackground();

            ConstructDrawingObjects();

            ConstructSubMenus(gameRunning);
        }
Ejemplo n.º 7
0
        /// <summary>
        /// The constructor for the Main Menu.
        /// </summary>
        public AreYouSureLayer(String message, int exit) : base()
        {
            currentSubMenuIndex = 0;
            this.message        = message;
            SetLayerAttributes();
            this.exitUrgency = exit;

            isTransparent = true;

            menuBackground = new MenuBackground();
            ConstructSubMenus();

            ConstructDrawingObjects();
        }
Ejemplo n.º 8
0
        /// <summary>
        /// The constructor for the Main Menu.
        /// </summary>
        public EndScreen(String message, bool hasWon) : base()
        {
            currentSubMenuIndex = 0;
            this.message        = message;
            SetLayerAttributes();
            this.hasWon = hasWon;

            isTransparent = true;

            menuBackground = new MenuBackground();
            ConstructSubMenus();

            ConstructDrawingObjects();
        }
Ejemplo n.º 9
0
    protected new void Start()
    {
        base.Start();
        this.DoActionInNextFrame(_setCamera);
        mb         = gameObject.AddComponent <MenuBackground>();
        _textStyle = new GUIStyle();
        _textStyle.normal.textColor = Color.red;
        _textStyle.alignment        = TextAnchor.MiddleCenter;

        CameraScript.showPlayerInterface = true;


        SceneChanger.SetSceneToSwitchTo(SceneChanger.SwitchToMenu);
    }
Ejemplo n.º 10
0
        void Update()
        {
            if (Input.GetKeyDown(KeyCode.Escape))
            {
                MenuBackground.SetActive(!MenuBackground.activeSelf);
                if (MenuBackground.activeSelf && GameObject.Find("VictoryMenu") != null)
                {
                    GameObject.Find("VictoryMenu").SetActive(false);
                }
            }

            while (messageQueue.Count > 0)
            {
                //HandleMessage(messageQueue[0]);

                var received = messageQueue[0].TrimEnd(new[] { '>' });

                //koordinate hier raus
                var payload = received.Split(';');

                Debug.Log(payload);

                switch (payload[0])
                {
                case "player":
                    //e. g. player;Tom
                    break;

                case "move":
                    var coordinates = payload[1].ToCharArray();
                    foreach (var marker in GameObject.FindGameObjectsWithTag("MarkerAvailable"))
                    {
                        Destroy(marker);
                    }
                    MoveStein(brett.GetFelder()[Int32.Parse(coordinates[0].ToString()), Int32.Parse(coordinates[1].ToString())], brett.GetFelder()[Int32.Parse(coordinates[2].ToString()), Int32.Parse(coordinates[3].ToString())]);
                    break;

                case "join":
                    Debug.Log("Client has joined the game!");
                    break;

                default:
                    Debug.Log("Unknown payload");
                    break;
                }

                messageQueue.RemoveAt(0);
            }
        }
Ejemplo n.º 11
0
        public OptionsState(Game1 game, GraphicsDevice graphicsDevice, ContentManager content) : base(game, graphicsDevice, content)
        {
            var buttonTexture     = _content.Load <Texture2D>("Components/Button");
            var buttonFont        = _content.Load <SpriteFont>("Components/Font");
            var backgroundTexture = _content.Load <Texture2D>("Components/Background");

            var background = new MenuBackground(backgroundTexture)
            {
                Position = new Vector2(0, 0)
            };

            musicVolumeButton = new AudioButton(buttonTexture, buttonFont, _game.GetMusicVolume())
            {
                Position = new Vector2(550, 340),
                Text     = "Music volume: ",
                OnClick  = ApplyMusicVolume,
            };

            soundVolumeButton = new AudioButton(buttonTexture, buttonFont, _game.GetSoundVolume())
            {
                Position = new Vector2(550, 400),
                Text     = "Sounds volume: ",
                OnClick  = ApplySoundVolume,
            };

            var backButton = new Button(buttonTexture, buttonFont)
            {
                Position = new Vector2(550, 600),
                Text     = "Back",
            };

            backButton.OnClick += BackButton_Click;


            navigationMenu = new NavigationMenu(new List <Component>
            {
                musicVolumeButton,
                soundVolumeButton,
                backButton,
            });

            _components = new List <Component>()
            {
                background,
                navigationMenu,
            };
        }
Ejemplo n.º 12
0
        public override void Load()
        {
            var background = new MenuBackground();
            AddChild(background);

            float ActualWidth = stage.StageWidth / GameMain.mainScale / 2f;
            float ActualHeight = stage.StageHeight / GameMain.mainScale / 2f;

            Levels = new Bitmap[CountLevels];

            float widthBitmap = GiveCurrentData();

            float heightBitmap = stage.StageHeight / 4;

            for (int k = 0; k < Levels.Length; k++)
            {
                Bitmap bmp = new Bitmap(Assets.GetBitmapData(String.Format("{0}", k + 1)));
                bmp.ScaleX = widthBitmap / bmp.Width / GameMain.mainScale;
                bmp.ScaleY = widthBitmap / bmp.Height / GameMain.mainScale;

                bmp.X = (leftContain + (widthBitmap + space) * k) / GameMain.mainScale;
                bmp.Y = 200 / GameMain.mainScale;

                AddChild(bmp);
                Levels[k] = bmp;

                bmp.AddEventListener(Event.TOUCH_END, levelButtonClick);
            }

            logoSelectLevel = new Bitmap(Assets.GetBitmapData("selectLevelLogo"));
            logoSelectLevel.ScaleX = logoSelectLevel.ScaleY = 1.25f;
            logoSelectLevel.X = stage.StageWidth / GameMain.mainScale / 2f - logoSelectLevel.Width / 2f;
            logoSelectLevel.Y = 5;
            AddChild(logoSelectLevel);

            buttonBack = new TextField();
            buttonBack.text = "Back";
            buttonBack.font = Assets.GetFont("MainFont");
            buttonBack.ScaleX = buttonBack.ScaleY = 2f;

            buttonBack.X = logoSelectLevel.X + logoSelectLevel.Width / 2 - buttonBack.Width / 2;
            buttonBack.Y = Levels[0].Y + Levels[0].Height + 50f / GameMain.mainScale;
            AddChild(buttonBack);

            buttonBack.AddEventListener(Event.TOUCH_END, backToMenu);
        }
Ejemplo n.º 13
0
        public override void Initialize()
        {
            mb             = new MenuBackground();
            mb.DrawDepth   = 0.1f;
            mb.Position    = new Vector2(440, -230);
            mb.ScaleScalar = 0.5f;

            osuLogo             = new pSprite(TextureManager.Load(OsuTexture.menu_osu), FieldTypes.StandardSnapCentre, OriginTypes.Centre, ClockTypes.Mode, new Vector2(0, 0), 0.9f, true, Color4.White);
            osuLogo.ScaleScalar = 0.7f;
            mb.Add(osuLogo);

            //gloss
            osuLogoGloss             = new pSprite(TextureManager.Load(OsuTexture.menu_gloss), FieldTypes.StandardSnapCentre, OriginTypes.Centre, ClockTypes.Mode, new Vector2(0, 0), 0.91f, true, Color4.White);
            osuLogoGloss.Additive    = true;
            osuLogoGloss.ScaleScalar = 0.7f;
            mb.Add(osuLogoGloss);

            if (DownloadLink != null)
            {
                downloadRequest           = new DataNetRequest(DownloadLink);
                downloadRequest.onUpdate += dnr_onUpdate;
                downloadRequest.onFinish += dnr_onFinish;

                NetManager.AddRequest(downloadRequest);
            }
            else
            {
                ShowMetadata();
            }

            GameBase.ShowLoadingOverlay = true;

            loadingBackground          = new pRectangle(Vector2.Zero, new Vector2(GameBase.BaseSize.X + 1, 0), true, 0, new Color4(0, 97, 115, 180));
            loadingBackground.Additive = true;
            loadingBackground.Field    = FieldTypes.StandardSnapBottomLeft;
            loadingBackground.Origin   = OriginTypes.BottomLeft;

            spriteManager.Add(loadingBackground);

            spriteManager.Add(new BackButton(delegate { Director.ChangeMode(OsuMode.Store); }, false));
        }
Ejemplo n.º 14
0
        public override void Load()
        {
            ActualWidth = stage.StageWidth / GameMain.mainScale / 2f;
            ActualHeight = stage.StageHeight / GameMain.mainScale / 2f;

            //Фон
            /*BitmapData backGr = Assets.GetBitmapData("Image");
            Bitmap bitmap1 = new Bitmap(backGr);
            AddChild(bitmap1);
            // Center bitmap
            bitmap1.X = 0;
            bitmap1.Y = 0;

            //bitmap1.ScaleX = stage.StageWidth / (bitmap1.Width * GameMain.mainScale);
            bitmap1.ScaleY = stage.StageHeight / (bitmap1.Height * GameMain.mainScale);
            bitmap1.ScaleX = bitmap1.ScaleY;*/

            var background = new MenuBackground();
            AddChild(background);

            //Логотип
            BitmapData texture = Assets.GetBitmapData("Logo");
            bitmap = new Bitmap(texture);
            AddChild(bitmap);
            // Center bitmap
            bitmap.ScaleX = bitmap.ScaleY = 0.1f;
            bitmap.X = ActualWidth;// - bitmap.Width / 2f;
            bitmap.Y = ActualHeight;// - bitmap.Height / 2f;

            //Старт гейм
            joinButton = new TextField();
            joinButton.font = Assets.GetFont("MainFont");
            joinButton.text = "Start game";
            joinButton.textColor = Color.White;
            //joinButton.ScaleX = joinButton.ScaleY = 2f / GameMain.mainScale;
            joinButton.X = ActualWidth - joinButton.Width / 2;
            joinButton.Y = ActualHeight * 2;//ActualHeight + joinButton.Height
            AddChild(joinButton);
            joinButton.AddEventListener(Event.TOUCH_END, changeLevels);
        }
Ejemplo n.º 15
0
        public DifficultyState(Game1 game, GraphicsDevice graphicsDevice, ContentManager content) : base(game, graphicsDevice, content)
        {
            var buttonTexture     = _content.Load <Texture2D>("Components/Button");
            var buttonFont        = _content.Load <SpriteFont>("Components/Font");
            var backgroundTexture = _content.Load <Texture2D>("Components/Background");
            var background        = new MenuBackground(backgroundTexture)
            {
                Position = new Vector2(0, 0)
            };

            var easyGameButton = new Button(buttonTexture, buttonFont)
            {
                Position = new Vector2(550, 340),
                Text     = "Easy",
            };

            easyGameButton.OnClick += EasyGameButton_Click;

            var hardGameButton = new Button(buttonTexture, buttonFont)
            {
                Position = new Vector2(550, 400),
                Text     = "Hard",
            };

            hardGameButton.OnClick += HardGameButton_Click;

            navigationMenu = new NavigationMenu(new List <Component>
            {
                easyGameButton,
                hardGameButton,
            });
            _components = new List <Component>()
            {
                background,
                navigationMenu,
            };
        }
Ejemplo n.º 16
0
        public void AddMenuBackground(MenuBackground menuBackground)
        {
            Debug.Assert(menuBackground != null, "Menu background cannot be added if null!");

            // Add menu option
            if (menuBackground != null)
                m_MenuBackground = menuBackground;
        }
Ejemplo n.º 17
0
 void Awake()
 {
     menuBackground = GameObject.Find("Background").GetComponent <MenuBackground>();
 }
Ejemplo n.º 18
0
        public void InitializeMenu()
        {
            int width = GameConstants.PLAYER_WIDTH;

            animations.Add("walkDown", new Rectangle[4] {
                new Rectangle(0, 0, width, width), new Rectangle(32, 0, width, width), new Rectangle(64, 0, width, width), new Rectangle(96, 0, width, width)
            });

            menuMotto = ContentChest.Instance.menuMottos[random.Next(0, ContentChest.Instance.menuMottos.Count)];

            menuBackground     = new MenuBackground();
            MediaPlayer.Volume = GameOptions.Instance.MUSIC_VOLUME;

            resolutions = new List <string>();
            resolutions.Add("1920x1080");
            resolutions.Add("1280x720");

            try
            {
                MediaPlayer.Play(ContentChest.Instance.menuMusic);
                MediaPlayer.IsRepeating = true;
            }
            catch (Exception e)
            {
                Debug.Write(e);
                Debug.WriteLine("No music found to play.");
            }

            string playGameString = "Login";
            string optionsString  = "Options";
            string quitString     = "Quit";
            string backString     = "Back";
            string refreshString  = "Refresh";


            string musicUp   = "+";
            string musicDown = "-";

            int padding = 20;

            menuButtons          = new List <Button>();
            optionsButtons       = new List <Button>();
            serverBrowserButtons = new List <Button>();
            loginMenu            = new List <Button>();

            currentResolution = Resolution.GameWidth + "x" + Resolution.GameHeight;
            float strWidth = ContentChest.Instance.menuFont.MeasureString(currentResolution).X;

            menuButtons.Add(new Button(new Vector2(Resolution.GameWidth / 2 - ContentChest.Instance.menuFont.MeasureString(playGameString).X / 2,
                                                   Resolution.GameHeight / 2), playGameString, ButtonTag.LOGIN, ContentChest.Instance.menuFont, new Color(231, 231, 231), true));

            menuButtons.Add(new Button(new Vector2(Resolution.GameWidth / 2 - ContentChest.Instance.menuFont.MeasureString(optionsString).X / 2,
                                                   Resolution.GameHeight / 2 + ContentChest.Instance.menuFont.MeasureString(playGameString).Y + padding), optionsString, ButtonTag.OPTIONS, ContentChest.Instance.menuFont, new Color(210, 210, 210), true));

            menuButtons.Add(new Button(new Vector2(Resolution.GameWidth / 2 - ContentChest.Instance.menuFont.MeasureString(quitString).X / 2,
                                                   Resolution.GameHeight / 2 + ContentChest.Instance.menuFont.MeasureString(playGameString).Y * 2 + padding * 2), quitString, ButtonTag.QUIT, ContentChest.Instance.menuFont, new Color(210, 210, 210), true));

            optionsButtons.Add(new Button(new Vector2(Resolution.GameWidth / 2 - ContentChest.Instance.menuFont.MeasureString(backString).X / 2,
                                                      Resolution.GameHeight / 2 + ContentChest.Instance.menuFont.MeasureString(playGameString).Y * 5), backString, ButtonTag.BACK, ContentChest.Instance.menuFont, new Color(210, 210, 210), true));

            optionsButtons.Add(new Button(new Vector2(Resolution.GameWidth / 2 - ContentChest.Instance.menuFont.MeasureString(musicDown).X / 2 - 50,
                                                      Resolution.GameHeight / 2 + ContentChest.Instance.menuFont.MeasureString(musicDown).Y - 200), musicDown, ButtonTag.MUSICDOWN, ContentChest.Instance.menuFont, new Color(210, 210, 210), false));

            optionsButtons.Add(new Button(new Vector2(Resolution.GameWidth / 2 - ContentChest.Instance.menuFont.MeasureString(musicDown).X / 2 + 50,
                                                      Resolution.GameHeight / 2 + ContentChest.Instance.menuFont.MeasureString(musicUp).Y - 200), musicUp, ButtonTag.MUSICUP, ContentChest.Instance.menuFont, new Color(210, 210, 210), false));

            optionsButtons.Add(new Button(new Vector2(Resolution.GameWidth / 2 - ContentChest.Instance.menuFont.MeasureString(musicDown).X / 2 - 50,
                                                      Resolution.GameHeight / 2 + ContentChest.Instance.menuFont.MeasureString(musicDown).Y - 100), musicDown, ButtonTag.EFFECTDOWN, ContentChest.Instance.menuFont, new Color(210, 210, 210), false));

            optionsButtons.Add(new Button(new Vector2(Resolution.GameWidth / 2 - ContentChest.Instance.menuFont.MeasureString(musicDown).X / 2 + 50,
                                                      Resolution.GameHeight / 2 + ContentChest.Instance.menuFont.MeasureString(musicUp).Y - 100), musicUp, ButtonTag.EFFECTUP, ContentChest.Instance.menuFont, new Color(210, 210, 210), false));

            optionsButtons.Add(new Button(new Vector2(Resolution.GameWidth / 2 - ContentChest.Instance.menuFont.MeasureString("<").X / 2 - 50 - strWidth,
                                                      Resolution.GameHeight / 2 + ContentChest.Instance.menuFont.MeasureString(musicDown).Y + 0), "<", ButtonTag.RESOLUTIONDOWN, ContentChest.Instance.menuFont, new Color(210, 210, 210), false));

            optionsButtons.Add(new Button(new Vector2(Resolution.GameWidth / 2 - ContentChest.Instance.menuFont.MeasureString(">").X / 2 + 50 + strWidth,
                                                      Resolution.GameHeight / 2 + ContentChest.Instance.menuFont.MeasureString(Resolution.GameWidth + "x" + Resolution.GameHeight).Y + 0), ">", ButtonTag.RESOLUTIONUP, ContentChest.Instance.menuFont, new Color(210, 210, 210), false));


            userNameBox = new Textbox((int)(Resolution.GameWidth / 2),
                                      (int)(Resolution.GameHeight / 2), 10, "Username", false);
            passWordBox = new Textbox((int)(Resolution.GameWidth / 2),
                                      (int)(Resolution.GameHeight / 2 + padding * 5), 10, "Password", true);

            loginMenu.Add(new Button(new Vector2(Resolution.GameWidth / 2 - ContentChest.Instance.menuFont.MeasureString("Connect").X / 2,
                                                 (int)(Resolution.GameHeight / 2 + padding * 9)), "Connect", ButtonTag.LOGIN, ContentChest.Instance.menuFont, new Color(231, 231, 231), true));
            loginMenu.Add(new Button(new Vector2(Resolution.GameWidth / 2 - ContentChest.Instance.menuFont.MeasureString(backString).X / 2,
                                                 (int)(Resolution.GameHeight / 2 + padding * 11)), backString, ButtonTag.BACK, ContentChest.Instance.menuFont, new Color(231, 231, 231), true));

            serverBrowserButtons.Add(new Button(new Vector2(Resolution.GameWidth / 2 - ContentChest.Instance.menuFont.MeasureString(refreshString).X / 2,
                                                            (int)(Resolution.GameHeight / 2 + padding * 9)), refreshString, ButtonTag.REFRESH, ContentChest.Instance.menuFont, new Color(231, 231, 231), true));
            serverBrowserButtons.Add(new Button(new Vector2(Resolution.GameWidth / 2 - ContentChest.Instance.menuFont.MeasureString(backString).X / 2,
                                                            (int)(Resolution.GameHeight / 2 + padding * 11)), backString, ButtonTag.BACK, ContentChest.Instance.menuFont, new Color(231, 231, 231), true));


            serverBrowser = new ServerBrowser();
        }
Ejemplo n.º 19
0
        public MenuState(Game1 game, GraphicsDevice graphicsDevice, ContentManager content) : base(game, graphicsDevice, content)
        {
            RankingFile.ReadFromFile();
            var buttonTexture     = _content.Load <Texture2D>("Components/Button");
            var buttonFont        = _content.Load <SpriteFont>("Components/Font");
            var backgroundTexture = _content.Load <Texture2D>("Components/Background");

            var background = new MenuBackground(backgroundTexture)
            {
                Position = new Vector2(0, 0)
            };

            var newGameButton = new Button(buttonTexture, buttonFont)
            {
                Position = new Vector2(550, 290),
                Text     = "New Game",
            };

            newGameButton.OnClick += NewGameButton_Click;


            var loadGameButton = new Button(buttonTexture, buttonFont)
            {
                Position = new Vector2(550, 350),
                Text     = "Load game"
            };

            loadGameButton.OnClick += LoadGameButton_Click;


            var rankingButton = new Button(buttonTexture, buttonFont)
            {
                Position = new Vector2(550, 410),
                Text     = "Ranking",
            };

            rankingButton.OnClick += RankingButton_Click;

            var optionsButton = new Button(buttonTexture, buttonFont)
            {
                Position = new Vector2(550, 470),
                Text     = "Options",
            };

            optionsButton.OnClick += OptionsButton_Click;

            var creditsButton = new Button(buttonTexture, buttonFont)
            {
                Position = new Vector2(550, 530),
                Text     = "Credits",
            };

            creditsButton.OnClick += CreditsButton_Click;

            var exitButton = new Button(buttonTexture, buttonFont)
            {
                Position = new Vector2(550, 590),
                Text     = "Exit",
            };

            exitButton.OnClick += ExitButton_Click;



            if (File.Exists("Save"))
            {
                loadGameButton.faded = false;
                navigationMenu       = new NavigationMenu(new List <Component>
                {
                    newGameButton,
                    loadGameButton,
                    rankingButton,
                    optionsButton,
                    creditsButton,
                    exitButton,
                });
                _components = new List <Component>()
                {
                    background,
                    navigationMenu
                };
                _game.PlaySong("menu");
            }
            else
            {
                loadGameButton.faded = true;
                navigationMenu       = new NavigationMenu(new List <Component>
                {
                    newGameButton,
                    rankingButton,
                    optionsButton,
                    creditsButton,
                    exitButton
                });
                _components = new List <Component>()
                {
                    background,
                    navigationMenu,
                    loadGameButton
                };
                _game.PlaySong("menu");
            }

            _game.PlaySong("menu");
        }
Ejemplo n.º 20
0
 public void Dispose()
 {
     MenuBackground.Dispose();
 }
Ejemplo n.º 21
0
        public Menu()
        {
            MenuBackground = new MenuBackground();

            ScoreBox        = new MenuTextBox(new Vector2f(0, 350), new Vector2f(1000, 40), "ffff", 20);
            PlayerNameInput = new TextInput(new Vector2f(300, 410), new Vector2f(400, 80), "Enter your name", 20);

            QuitButton       = new ActionTextButton(new Vector2f(0, 510), new Vector2f(1000, 80), "Quit", 30, OnQuitClicked);
            QuitNoSaveButton = new ActionTextButton(new Vector2f(0, 610), new Vector2f(1000, 80), "Surrender", 30, OnQuitNoSaveButton);

            BackButton = new ActionTextButton(new Vector2f(0, 910), new Vector2f(1000, 80), "Back", 30, OnBackClicked);

            ScoresText = new MenuTextBox(new Vector2f(0, 110), new Vector2f(1000, 40), "Top Scores", 30);
            ScoresPrev = new ActionTextButton(new Vector2f(100, 810), new Vector2f(300, 80), "Prev", 30, OnPrevClicked);
            ScoresNext = new ActionTextButton(new Vector2f(600, 810), new Vector2f(300, 80), "Next", 30, OnNextClicked);

            ScoreActors = new List <Actor> {
                BackButton, ScoresText, ScoresNext, ScoresPrev
            };

            Layers = new Dictionary <MenuLayer, List <Actor> >
            {
                {
                    MenuLayer.Main,
                    new List <Actor>
                    {
                        new ActionTextButton(new Vector2f(0, 110), new Vector2f(1000, 80), "New Game", 30, OnStartGameClicked),
                        new ActionTextButton(new Vector2f(0, 210), new Vector2f(1000, 80), "Continue", 30, OnContinueGameClicked),
                        new ActionTextButton(new Vector2f(0, 310), new Vector2f(1000, 80), "Keyboard Settings", 30, OnKeysClicked),
                        new ActionTextButton(new Vector2f(0, 410), new Vector2f(1000, 80), "Top Scores", 30, OnScoresClicked),
                        QuitButton,
                        QuitNoSaveButton
                    }
                },
                {
                    MenuLayer.Keys,
                    new List <Actor>
                    {
                        new MenuTextBox(new Vector2f(100, 110), new Vector2f(300, 80), KeyActionType.MoveUp.Item2, 20, null, TextPosition.Start),
                        new MenuTextBox(new Vector2f(100, 210), new Vector2f(300, 80), KeyActionType.MoveDown.Item2, 20, null, TextPosition.Start),
                        new MenuTextBox(new Vector2f(100, 310), new Vector2f(300, 80), KeyActionType.MoveLeft.Item2, 20, null, TextPosition.Start),
                        new MenuTextBox(new Vector2f(100, 410), new Vector2f(300, 80), KeyActionType.MoveRight.Item2, 20, null, TextPosition.Start),
                        new MenuTextBox(new Vector2f(100, 510), new Vector2f(300, 80), KeyActionType.Shoot.Item2, 20, null, TextPosition.Start),
                        new MenuTextBox(new Vector2f(100, 610), new Vector2f(300, 80), KeyActionType.Pause.Item2, 20, null, TextPosition.Start),
                        new ChangeKeyButton(new Vector2f(600, 110), new Vector2f(300, 80), KeyActionType.MoveUp, 20, TextPosition.Start),
                        new ChangeKeyButton(new Vector2f(600, 210), new Vector2f(300, 80), KeyActionType.MoveDown, 20, TextPosition.Start),
                        new ChangeKeyButton(new Vector2f(600, 310), new Vector2f(300, 80), KeyActionType.MoveLeft, 20, TextPosition.Start),
                        new ChangeKeyButton(new Vector2f(600, 410), new Vector2f(300, 80), KeyActionType.MoveRight, 20, TextPosition.Start),
                        new ChangeKeyButton(new Vector2f(600, 510), new Vector2f(300, 80), KeyActionType.Shoot, 20, TextPosition.Start),
                        new ChangeKeyButton(new Vector2f(600, 610), new Vector2f(300, 80), KeyActionType.Pause, 20, TextPosition.Start),
                        BackButton
                    }
                },
                {
                    MenuLayer.EndScreen,
                    new List <Actor>
                    {
                        new MenuTextBox(new Vector2f(0, 110), new Vector2f(1000, 80), "GAME OVER", 40),
                        new MenuTextBox(new Vector2f(0, 310), new Vector2f(1000, 40), "Your Score:", 20),
                        ScoreBox,
                        PlayerNameInput,
                        new ActionTextButton(new Vector2f(0, 710), new Vector2f(1000, 80), "Return to menu", 30, OnBackToMenuClicked)
                    }
                },
                {
                    MenuLayer.Scores,
                    new List <Actor> (ScoreActors)
                }
            };

            ShowMenu();
        }