public static IZonePacket FromMessage(MessageServer message, ZoneClient zoneClientState) { Int32 secureKey = zoneClientState.SecureKey; UInt32 sequenceID = zoneClientState.SequenceID++; var messageBytes = message.GetBytes(); var newZonePacket = new ZonePacket(); newZonePacket.Signature = ZONE_SIGNATURE; newZonePacket.Size = messageBytes.Length; newZonePacket.SequenceID = sequenceID; newZonePacket.CRC = calculateCRC(messageBytes); newZonePacket.Data = message.GetBytes(); return(newZonePacket); }