/// <summary>
        ///
        /// </summary>
        /// <param name="entityID"></param>
        /// <param name="p"></param>
        /// <remarks>entityID is a ushort!! dit is om zo maar 2 bytes te moeten gebruiken ipv 4 bytes
        /// voor de entityID. Enkel de entities met id 0 -> ushort.MaxValue kunnen entityupdatepackets
        /// versturen. De statische objecten moeten dus een id hebben van meer dan ushort.MaxValue</remarks>
        public void WriteEntityUpdatePacket(ushort entityID, UpdateEntityPacket p)
        {
            //if (entityID < 0 || entityID > ushort.MaxValue ) throw new Exception("De entityID is out of range. See remarks of this method for more info");

            byte[] dgram = p.ToNetworkBytes();
            dataWriter.Write(entityID);
            //dataWriter.WriteCompressed(dgram.Length);
            dataWriter.Write(dgram);
        }
        public static UpdateEntityPacket FromNetworkBytes(ByteReader br)
        {
            UpdateEntityPacket p = new UpdateEntityPacket();

            //p.EntityID = br.ReadInt32();
            p.Positie     = br.ReadVector3();
            p.RotatieQuat = br.ReadQuaternion();
            //p.Rotatie = Matrix.Identity;

            return(p);
        }
        public UpdateEntityPacket ReadEntityUpdate(out ushort entityID)
        {
            entityID = 0;

            if (dataReader.BytesLeft == 0)
            {
                return(UpdateEntityPacket.Empty);
            }

            entityID = dataReader.ReadUInt16();
            //length = dataReader.ReadCompressedInt32();
            return(UpdateEntityPacket.FromNetworkBytes(dataReader));
        }