public static void SendDeathSync(Room room, Player killer, int objId, int weaponId, List <DeathServerData> deaths) { using (Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp)) { using (SendPacket sendPacket = new SendPacket()) { sendPacket.writeH((short)3); sendPacket.writeH((short)room._roomId); sendPacket.writeH((short)room._channelId); sendPacket.writeC((byte)killer._slot); sendPacket.writeC((byte)objId); sendPacket.writeD(weaponId); sendPacket.writeTVector(killer.Position); sendPacket.writeC((byte)deaths.Count); for (int index = 0; index < deaths.Count; ++index) { DeathServerData death = deaths[index]; sendPacket.writeC((byte)death._player.WeaponClass); sendPacket.writeC((byte)((int)death._deathType * 16 + death._player._slot)); sendPacket.writeTVector(death._player.Position); sendPacket.writeC((byte)0); } Battle_SyncNet.SendData(room, socket, sendPacket.mstream.ToArray()); } } }
public static void SendDeathSync(Room room, Player killer, int objId, int weaponId, List <DeathServerData> deaths) { using (Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp)) using (SendPacket p = new SendPacket()) { p.writeH(3); p.writeH((short)room._roomId); p.writeH((short)room._channelId); p.writeC((byte)killer._slot); p.writeC((byte)objId); p.writeD(weaponId); p.writeTVector(killer.Position); p.writeC((byte)deaths.Count); for (int i = 0; i < deaths.Count; i++) { DeathServerData ob = deaths[i]; p.writeC((byte)ob._player.WeaponClass); p.writeC((byte)(((int)ob._deathType * 16) + ob._player._slot)); p.writeTVector(ob._player.Position); p.writeC(0); } SendData(room, s, p.mstream.ToArray()); } }