public void PostGameStarted(GamerMinimal gamer) { var game = _gamerStorage.GetGamerLastPendingGame(gamer.Id); if (game == null) { game = _gamerStorage.CreateGame(gamer.Id); } game.Score = 0; SetCurrentGame(game); SyncClientGames(); _messageHandler.Publish(Topics.GameStarted, gamer); }
private void GetGamerFromMessage(string message, out GamerMinimal gamer, out Gamer stored, out Game game) { gamer = JsonConvert.DeserializeObject <GamerMinimal>(message); stored = _gamerStorage.GetGamer(gamer.Id); game = stored.Games.OrderByDescending(g => g.DateCreated).FirstOrDefault(g => g.State == GameState.Pending); }