private void EndStartCount(object obj) { if (players.Count == 2) { List <Player> gamePlayers = players.Values.ToList(); for (int i = 0; i < gamePlayers.Count; i++) { if (gamePlayers[i].Status != PlayerStatus.Ready) { return; } } status = LobbyStatus.Started; GM = new GameManager(this); Field f = GM.InitializeSimpleGame(gamePlayers[0].PlayerToken, gamePlayers[0].Nickname, gamePlayers[1].PlayerToken, gamePlayers[1].Nickname); for (int i = 0; i < gamePlayers.Count; i++) { Player p = gamePlayers[i]; Router.SendMessage(p.WSContext, "START_GAME", new WSStartGame(f)); } TimerCallback tm = new TimerCallback(StartRun); StartCount = new Timer(tm, null, (int)PrepareTime.TotalMilliseconds, Timeout.Infinite); } }