示例#1
0
        /// <summary>
        /// Event that runs when a packet is revieved from a peer.
        /// </summary>
        /// <param name="peer">The peer that send a packet.</param>
        /// <param name="reader">The reader to get the packet from.</param>
        /// <param name="deliveryMethod">The type of delivery.</param>
        public void OnNetworkReceive(NetPeer peer, NetPacketReader reader, DeliveryMethod deliveryMethod)
        {
            byte       packetTypeByte = reader.GetByte();
            PacketType packetType     = (PacketType)packetTypeByte;

            switch (packetType)
            {
            case PacketType.Transform:
                otherPlayers[peer].transformPacket.Deserialize(reader);
                break;

            case PacketType.Sounds:
                otherPlayers[peer].PlaySound(reader.GetInt());
                break;

            case PacketType.Stop:
                otherPlayers[peer].StopSound();
                break;

            default:
                Debug.LogError("Unhandled packet: " + packetType);
                break;
            }
            reader.Clear();
        }
示例#2
0
        public static void RecievePlayerSync(NetPacketReader reader)
        {
            int id = reader.GetInt();

            if (!playerEnts.ContainsKey(id))
            {
                reader.Clear();
                return;
            }
            playerEnts[id].pos.x = reader.GetFloat();
            playerEnts[id].pos.y = reader.GetFloat();
            playerEnts[id].angle = reader.GetFloat();
        }
示例#3
0
 private void Listener_NetworkReceiveEvent(NetPeer peer, NetPacketReader reader, DeliveryMethod deliveryMethod)
 {
     reader.Recycle();
     reader.Clear();
     // Do nothing.
 }