Exemple #1
0
        public void register(IGameApp game, String GameName)
        {
            GameAppWrapper newGameWrapper = new GameAppWrapper(game, registeredGames, GameName);

            newGameWrapper.LaunchGameCommand = new DelegateCommand(
                param => { LaunchGame(this, (Int32)param); });
            ++registeredGames;
            Games.Add(newGameWrapper);
        }
        private void onGameLaunch(object sender, Int32 param)
        {
            Int32          Id      = param;
            GameAppWrapper current = GameList[(int)Id];

            current.P1 = model.P1;
            current.P2 = model.P2;

            LaunchGame(this, current);
        }
Exemple #3
0
        private void LaunchNewGame(object sender, IGameApp e)
        {
            GameAppWrapper wrap = (GameAppWrapper)e;

            if (this._currentGame == null)
            {
                _window.Hide();
                this._currentGame           = wrap;
                this._currentGame.GameExit += GameExit;
                wrap.Initialize();
                wrap.OpenWindow();
            }
            else
            {
                throw new InvalidOperationException("A game is still running!");
            }
        }
Exemple #4
0
        private void GameExit(object sender, EventArgs e)
        {
            this._currentGame.GameExit -= GameExit;

            InputDialog          dia   = new InputDialog();
            InputDialogViewModel diavm = new InputDialogViewModel(dia);

            dia.DataContext    = diavm;
            diavm.CloseDialog += CloseDialog;

            dia.ShowDialog();

            if (diavm.result == true)
            {
                String name = dia.Input.Text;
                if ((int)this._currentGame.P1.Score > (int)this._currentGame.P2.Score)
                {
                    LeaderboardEntry board = new LeaderboardEntry();
                    board.UserName      = name;
                    board.GameType      = GameTypes.TicTacToe;
                    board.Date          = DateTime.Now;
                    board.GameSessionId = "session1";
                    board.Score         = (int)this._currentGame.P1.Score;

                    _store.AddLeaderboardEntryAsync(board);
                }
                else
                {
                    LeaderboardEntry board = new LeaderboardEntry();
                    board.UserName      = name;
                    board.GameType      = GameTypes.TicTacToe;
                    board.Date          = DateTime.Now;
                    board.GameSessionId = "session1";
                    board.Score         = (int)this._currentGame.P2.Score;

                    _store.AddLeaderboardEntryAsync(board);
                }
            }

            this._currentGame.CloseWindow();

            this._currentGame = null;

            _window.Show();
        }