Exemplo n.º 1
0
        private void OnFieldChange(object sender, EventArgs eventArgs)
        {
            Boardstate boardState = Board.CheckBoard();

            if (boardState == Boardstate.NotResolved)
            {
                PlayersManager.ChangePlayer();
                MessageBus.Instance.PostEvent(MessageType.Recalculate, this, new EventArgs());
            }
            else
            {
                Gamestate.boardstate = boardState;
                MessageBus.Instance.PostEvent(MessageType.ChangeScreen, this, new ChangeScreenEventArgs {
                    Screen = ScreenType.Results
                });
            }
        }
Exemplo n.º 2
0
        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));
        }