Exemple #1
0
        public MenuScreen(Gamestate gamestate, PlayersManager playersManager) : base(gamestate, playersManager, ScreenType.MenuScreen)
        {
            Gamestate.Clear();

            Buttons = new List <TextButton>();
            Buttons.Add(new ScreenChangeButton(new Position(200, 25, 600, 100), Gamestate, new Vector2f(), 40, TextPosition.Middle, TextPosition.Middle, "New Game", ScreenType.Pregame));
            Buttons.Add(new ScreenChangeButton(new Position(200, 150, 600, 100), Gamestate, new Vector2f(), 40, TextPosition.Middle, TextPosition.Middle, "Statistics", ScreenType.Statistics));
            Buttons.Add(new ScreenChangeButton(new Position(200, 275, 600, 100), Gamestate, new Vector2f(), 40, TextPosition.Middle, TextPosition.Middle, "Players", ScreenType.PlayerSelectionScreen));
            Buttons.Add(new MessageButton(new Position(200, 875, 600, 100), Gamestate, new Vector2f(), 40, TextPosition.Middle, TextPosition.Middle, "Quit", MessageType.Quit));
        }
        public ResultsScreen(Gamestate gamestate, PlayersManager playersManager, TextureManager textureManager, StatisticsManager statisticsManager) : base(gamestate, playersManager, ScreenType.Results)
        {
            StatisticsManager = statisticsManager;

            SaveStatistics();

            Text = new Text(new Position(200, 25, 600, 100), Gamestate, new Vector2f(), 50, TextPosition.Middle, TextPosition.Middle, GetResultsText());

            Buttons = new List <Button>();
            Buttons.Add(new ActionButton(new Position(200, 150, 600, 100), Gamestate, new Vector2f(), 40, TextPosition.Middle, TextPosition.Middle, "Rematch", (MouseButtonEventArgs args) => { PlayersManager.ChangePlayer(); MessageBus.Instance.PostEvent(MessageType.ChangeScreen, this, new ChangeScreenEventArgs {
                    Screen = ScreenType.Game
                }); }));
            Buttons.Add(new ActionButton(new Position(200, 300, 600, 100), Gamestate, new Vector2f(), 40, TextPosition.Middle, TextPosition.Middle, "New Game", (MouseButtonEventArgs args) => { Gamestate.Clear(); MessageBus.Instance.PostEvent(MessageType.ChangeScreen, this, new ChangeScreenEventArgs {
                    Screen = ScreenType.Pregame
                }); }));

            Buttons.Add(new ReturnButton(new Position(25, 875, 100, 100), Gamestate, textureManager.TexturesDictionary[TextureType.Icon]["back"], ScreenType.MenuScreen));
        }