public void WriteCompleteDynamicFieldUpdateMask(int size, WorldPacket data) { data.WriteBits(size, 32); if (size > 32) { if (data.HasUnfinishedBitPack()) { for (int block = 0; block < size / 32; ++block) { data.WriteBits(0xFFFFFFFFu, 32); } } else { for (int block = 0; block < size / 32; ++block) { data.WriteUInt32(0xFFFFFFFFu); } } } else if (size == 32) { data.WriteBits(0xFFFFFFFFu, 32); return; } if ((size % 32) != 0) { data.WriteBits(0xFFFFFFFFu, size % 32); } }
public void WriteUpdateMask(WorldPacket data) { data.WriteBits(_values.Count, 32); if (_values.Count > 32) { if (data.HasUnfinishedBitPack()) { for (int block = 0; block < _values.Count / 32; ++block) { data.WriteBits(_updateMask[block], 32); } } else { for (int block = 0; block < _values.Count / 32; ++block) { data.WriteUInt32(_updateMask[block]); } } } else if (_values.Count == 32) { data.WriteBits(_updateMask.Last(), 32); return; } if ((_values.Count % 32) != 0) { data.WriteBits(_updateMask.Last(), _values.Count % 32); } }