Exemple #1
0
 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());
         }
     }
 }
Exemple #2
0
 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());
         }
 }