public Task TrickWon(TrickWonDto data) { var ctx = new GameEventContext(data.GameId, data.RoundIndex); var e = new TrickWon(ctx, new PlayerIndex(data.PlayerIndex)); _gameEventCallback(e); return(Task.CompletedTask); }
public void TrickWonIsMappedAndBack() { var ctx = new GameEventContext("g", 12); var trickWon = new TrickWon(ctx, new PlayerIndex(1)); var persistable = GameEventSerializer.Convert(trickWon); var recreated = GameEventSerializer.Convert(persistable) as TrickWon; Assert.Equal(1, recreated.Player.Value); }
public void OnNext(GameEvent e) { var task = e switch { HandReceived hand => _client.HandReceived(GetHandReceivedData(e.Context, hand)), CardPlayed move => _client.CardPlayed(new CardPlayedDto(e.Context.GameId, e.Context.RoundIndex, move.Player, GetIndex(move.Card))), GuessGiven guess => _client.GuessGiven(new GuessGivenDto(e.Context.GameId, e.Context.RoundIndex, guess.Player, guess.Count)), TrickWon trick => _client.TrickWon(new TrickWonDto(e.Context.GameId, e.Context.RoundIndex, trick.Player)), _ => Task.CompletedTask, }; task.GetAwaiter().GetResult(); }
public void OnNext(GameEvent e) { var player = _playerNames[e.Player]; var message = e switch { GuessGiven guess => $"{player} made guess of <{guess.Count}>", CardPlayed move => $"{player} played {move.Card} ({move.Card.Rank} of {move.Card.Suit})", HandReceived received => $"{player} got {received.Hand.NumberOfCards} cards", TrickWon trick => $"{player} won the trick", _ => e.ToString(), }; Render(message, ConsoleColor.DarkGreen); }
public TrickWonPayload(TrickWon tw) : base(tw) { }