public ConnectionManager() { pControl = new PlayerControl(this); this.Connected = false; this.InGame = false; PlayerList = new Dictionary<int, EntityPlayer>(); player = new EntityPlayer(); PlayerName = ""; PacketWrite = new Queue<Packet>(); PacketRead = new Queue<Packet>(); }
public void HandlePacketNamedEntitySpawn(PacketNamedEntitySpawn packet) { EntityPlayer player = new EntityPlayer(); player.name = packet.name; player.x = (double)packet.xPosition / 32.0; player.yFeet = (double)packet.yPosition / 32.0; player.z = (double)packet.zPosition / 32.0; player.yaw = (float)packet.rotation / 32.0f; player.pitch = (float)packet.pitch / 32.0f; if(!manager.PlayerList.ContainsKey(packet.entityId)) manager.PlayerList.Add(packet.entityId, player); }
public void Connect(String host, String port, String username, bool FMLserver) { this.Connected = false; this.InGame = false; this.FML = FMLserver; this.PlayerName = username; PlayerList= new Dictionary<int,EntityPlayer>(); player = new EntityPlayer(); player.name = username; PacketWrite = new Queue<Packet>(); PacketRead = new Queue<Packet>(); try { IPAddress ServerIP = IPAddress.Parse(host); int ServerPort = Convert.ToInt32(port); IPEndPoint Dest = new IPEndPoint(ServerIP, ServerPort); Client = new TcpClient(); Client.Connect(ServerIP, ServerPort); if (Client.Connected == false) { CustomLib.putsc("Server is unavailible!\n", Color.Aquamarine); this.Dispose(); return; } NetworkStream Channel = Client.GetStream(); input = new BinaryReader(Channel); output = new BinaryWriter(new BufferedStream(Channel, 5120)); this.Connected = true; Thread.Sleep(100); threadin = new Timer(StartIn, this, 300, Timeout.Infinite); threadupdate = new Timer(StartUpdate, this, 300, Timeout.Infinite); AddToSendingQueue(new PacketHandshake(78, this.PlayerName, ServerIP.ToString(), ServerPort)); Console.WriteLine("Sending handshake..."); MainLoop(); CustomLib.putsc("Connection closed..\n", Color.Aquamarine); this.Dispose(); } catch (ThreadAbortException ex) { } catch (SocketException ex) { Console.WriteLine("Socket Exception: " + ex.ToString()); CustomLib.putsc("Server is unavailible!\n",Color.Aquamarine); this.Dispose(); } catch (IOException ex) { Console.WriteLine("IO Exception: " + ex.ToString()); this.Dispose(); } catch (Exception ex) { Logger.WriteLog(ex); Console.WriteLine("Exception: " + ex.ToString()); this.Dispose(); } }
private void Dispose() { this.InGame = false; this.Connected = false; player = new EntityPlayer(); PlayerList.Clear(); PacketWrite.Clear(); PacketRead.Clear(); Thread.Sleep(100); threadin.Dispose(); threadupdate.Dispose(); if(Client.Connected) Client.GetStream().Dispose(); Client.Close(); Thread.Sleep(1400); this.RaiseDisconnectEvent(); }
public void RaisePlayerRemoveEvent(EntityPlayer[] a) { onPlayerRemove(a); }
public void RaiseNewPlayerEvent(EntityPlayer a) { onNewPlayer(a); }