public static Player Build(string playerString) { Player player = new Player(); if (playerString == null || playerString.Equals("")) throw new ArgumentException("playerString is null or blank"); string[] kvs = playerString.Split(new char[] { ' ', ':' }, StringSplitOptions.RemoveEmptyEntries); //This may be needed in the future to create a proper player object /** foreach (string kv in kvs) { Console.WriteLine(kv); }**/ //return null; //if the player is still connecting if (kvs[1].Trim() == "id") { player.State = PlayerConnectionState.Connecting; return player; } else { player.State = PlayerConnectionState.Connected; player.Name = kvs[1].Trim(); player.ID = int.Parse(kvs[3]); player.IP = "0.0.0.0"; player.Port = 0; player.Ping = int.Parse(kvs[7]); player.Profile = kvs[11].Trim(); return player; } }
/// <summary> /// Kicks player using their Name /// </summary> /// <param name="player">The player to kick</param> public void Kick(Player player) { if (player == null) throw new ArgumentException("player is null"); ExecuteCommand("kick " + player.Name); }