public override void Read(byte[] bytes) { PacketReader reader = new PacketReader(bytes); this.Id = BitConverter.ToUInt16(reader.GetBytesCapped(15)); if (reader.GetBit()) { this.Flag = (LatentEventFlag)reader.GetByte(); if (this.Flag == LatentEventFlag.Head) { this.Header = new LatentEventHeader() { Category = (LatentEventCategory)reader.GetUint16(), FinalSize = reader.GetUint32(), Rate = reader.GetUint32(), ResourceNetId = reader.GetUint16() } } ; } reader.AlignToByteBoundary(); var size = reader.GetUint16(); this.Data = reader.GetBytes(size); } }