/// <summary> /// Execute. /// </summary> /// <param name="args">The arguments.</param> /// <param name="name">The name.</param> /// <param name="currentPlayer">The current player.</param> public void Execute(string[] args, string name, TcpClient currentPlayer = null) { GameInfo currenrGameInfo = MazeGame.gamesInfo[name]; List <TcpClient> clients = MazeGame.gamesInfo[name].Players; JObject json = new JObject(); json[""] = "game closed"; bool found = false; int index = 0; TcpClient clientFound = null; // find client while (!found && index < clients.Count) { if (clients[index] != currentPlayer) { clientFound = clients[index]; found = true; } index++; } // remove from list MazeGame.gamesInfo.Remove(name); // send json to client if (clientFound == null) { // player ended game before the second joined game.WriteMessage(new StreamWriter(currentPlayer.GetStream()), "aborted", currenrGameInfo); } else { game.WriteMessage(new StreamWriter(clientFound.GetStream()), json.ToString(), currenrGameInfo); } }
/// <summary> /// Execute. /// </summary> /// <param name="args">The arguments.</param> /// <param name="name">The name.</param> /// <param name="currentPlayer">The current player.</param> public void Execute(string[] args, string name, TcpClient currentPlayer = null) { List <TcpClient> clients = MazeGame.gamesInfo[name].Players; JObject json = new JObject(); json["Name"] = name; json["Direction"] = args[0]; bool found = false; int index = 0; TcpClient clientFound = null; // ConnectionInfo connectionInfo = new ConnectionInfo(); // find client while (!found && index < clients.Count) { if (clients[index] != currentPlayer) { clientFound = clients[index]; found = true; } index++; } // send json to client game.WriteMessage(new StreamWriter(clientFound.GetStream()), json.ToString()); }
/// <summary> /// Execute. /// </summary> /// <param name="args">The arguments.</param> /// <param name="name">The name.</param> /// <param name="currentPlayer">The current player.</param> public void Execute(string[] args, string name, TcpClient currentPlayer = null) { List <string> list = new List <string>(); foreach (GameInfo gameInfo in MazeGame.gamesInfo.Values) { if (gameInfo.Players.Count != 2) { // add name to list list.Add(gameInfo.Name); } } // create result: string result = JsonConvert.SerializeObject(list);; game.WriteMessage(new StreamWriter(currentPlayer.GetStream()), result); }