protected override void NewPlayer(NetIncomingMessage msg) { NetPlayer player = new NetPlayer(0, 0); string name = msg.ReadString(); int uid = msg.ReadInt32(); player.UID = uid; ClientInfo clientInfo = new ClientInfo(); clientInfo.Name = name; clientInfo.X = player.X; clientInfo.Y = player.Y; clientInfo.UID = uid; if (!NetManager.connectedClients.ContainsKey(uid)) { NetManager.connectedClients.Add(clientInfo.UID, clientInfo); EntityManager.AddNetPlayer(player); JapeLog.WriteLine("New Player Added: " + name); } }
protected void NewPlayerResponse(NetIncomingMessage msg) { int ownUid = msg.ReadInt32(); NetManager.RemoteUID = ownUid; bool gameStarted = msg.ReadBoolean(); string levelName = msg.ReadString(); string levelData = msg.ReadString(); int otherClientsCount = msg.ReadInt32(); for (int i = 0; i < otherClientsCount; i++) { string name = msg.ReadString(); int uid = msg.ReadInt32(); NetPlayer player = new NetPlayer(0, 0); ClientInfo clientInfo = new ClientInfo(); clientInfo.Name = name; clientInfo.X = player.X; clientInfo.Y = player.Y; clientInfo.UID = uid; player.UID = uid; if (!NetManager.connectedClients.ContainsKey(uid)) { NetManager.connectedClients.Add(clientInfo.UID, clientInfo); EntityManager.AddNetPlayer(player); JapeLog.WriteLine("New Player Added: " + name); } } if (gameStarted) { DownloadLevel(levelName, levelData); OnChangedLevel(levelName, 0); } JapeLog.WriteLine("Remote ID recieved: " + ownUid); }
public static void AddNetPlayer(NetPlayer player) { netPlayers.Add(player); }
private static void RemoveDisconnectedNetPlayers(NetPlayer[] list) { for (int i = 0; i < list.Length; i++) { if (list[i].Disconnected) { netPlayers.Remove(list[i]); NetManager.connectedClients.Remove(list[i].UID); } } }