public NetworkState Send(Server server) { server.Write(BitConverter.GetBytes(AUTHENTICATION_SERVER_VALUE), 0, 4); //Console.WriteLine("Authentication successful!"); return(new UsernameAndPasswordState()); }
public NetworkState Send(Server server) { //Find the first other player. List <Player> otherPlayers = players.GetNearbyPlayers(server.player.Name); int numNearbyPlayers = otherPlayers.Count; //Write the number of players for which we are going to send data server.Write(BitConverter.GetBytes(numNearbyPlayers), 0, 4); WritePlayerData(server, otherPlayers); return(this); }
public NetworkState Send(Server server) { if (loggedIn) { Console.WriteLine("{0} successfully logged in with {1}", server.player.Name, server.player.Password); server.Write(BitConverter.GetBytes(LOGIN_SUCCESSFUL_VALUE), 0, 4); return(new PositionState()); } else { //This should retry in the future, rather than closing the server throw new ApplicationException("Login failed"); } }
private void WritePlayerData(Server server, IList <Player> otherPlayers) { byte[] buffer = new byte[otherPlayers.Count * 8]; int index = 0; //Write the data for each player into a buffer foreach (Player p in otherPlayers) { Buffer.BlockCopy(BitConverter.GetBytes(p.Position.x), 0, buffer, index, 4); Buffer.BlockCopy(BitConverter.GetBytes(p.Position.y), 0, buffer, index + 4, 4); //Console.Write("({0}, {1})",p.Position.x, p.Position.y); index += 8; //Check for buffer full } //Write the buffer of player data server.Write(buffer, 0, index); }
public NetworkState Send(Server server) { if (loggedIn) { Console.WriteLine("{0} successfully logged in with {1}", server.player.Name, server.player.Password); server.Write(BitConverter.GetBytes(LOGIN_SUCCESSFUL_VALUE), 0, 4); return new PositionState(); } else //This should retry in the future, rather than closing the server throw new ApplicationException("Login failed"); }
private void WritePlayerData(Server server, IList<Player> otherPlayers) { byte[] buffer = new byte[otherPlayers.Count * 8]; int index = 0; //Write the data for each player into a buffer foreach (Player p in otherPlayers) { Buffer.BlockCopy(BitConverter.GetBytes(p.Position.x), 0, buffer, index, 4); Buffer.BlockCopy(BitConverter.GetBytes(p.Position.y), 0, buffer, index + 4, 4); //Console.Write("({0}, {1})",p.Position.x, p.Position.y); index += 8; //Check for buffer full } //Write the buffer of player data server.Write(buffer, 0, index); }
public NetworkState Send(Server server) { //Find the first other player. List<Player> otherPlayers = players.GetNearbyPlayers(server.player.Name); int numNearbyPlayers = otherPlayers.Count; //Write the number of players for which we are going to send data server.Write(BitConverter.GetBytes(numNearbyPlayers), 0, 4); WritePlayerData(server, otherPlayers); return this; }
public NetworkState Send(Server server) { server.Write(BitConverter.GetBytes(AUTHENTICATION_SERVER_VALUE), 0, 4); //Console.WriteLine("Authentication successful!"); return new UsernameAndPasswordState(); }