Esempio n. 1
0
        private void SetUpGame(IUIThreadDispatcher uiThreadDispatcher)
        {
            uiThreadDispatcher.BlockingInvoke(() =>
            {
                game.SetItUp();
                game.AgentCardsController.AutoPlay = false;
                game.GameState.MoveHappened       += m =>
                {
                    if (m.Player == Player.One &&
                        (!(m is DrawMove)))
                    {
                        _remote.Send("rummy.human_move"
                                     , getMoveAsJson(m));
                        game.GameState.CheckForWinnerInTheMiddleOfTurns();
                    }
                };

                game.GameState.StateChanged += (oldState, newState) =>
                {
                    _remote.Send("rummy.game_state", getGameStateAsJson());
                };

                game.AgentCardsController.CanPlay += (s, e) =>
                {
                    //here, sending all the possible moves to Java
                    _remote.Send("rummy.available_moves", getPossibleMovesAsJson());
                };
                game.GameState.GameOver += p =>
                {
                    _remote.Send("rummy.gameover", getPlayerAsJson(p));
                };
            });
        }