public static PackFrame[] Factory(System.Object trg, int count) { var t = trg as emotitron.TestPackObject; var frames = new PackFrame_TestPackObject[count]; for (int i = 0; i < count; ++i) { var frame = new PackFrame_TestPackObject() { mask = new FastBitMask128(Pack_TestPackObject.TOTAL_FIELDS), isCompleteMask = new FastBitMask128(Pack_TestPackObject.TOTAL_FIELDS) }; frames[i] = frame; } return(frames); }
public static SerializationFlags Pack(ref PackFrame_TestPackObject packable, PackFrame prevFrame, ref FastBitMask128 mask, ref int maskOffset, byte[] buffer, ref int bitposition, int frameId, SerializationFlags writeFlags) { var prev = prevFrame as PackFrame_TestPackObject; SerializationFlags flags = SerializationFlags.None; { var flag = rotationPacker(ref packable.rotation, prev.rotation, buffer, ref bitposition, frameId, writeFlags); mask[maskOffset] = flag != SerializationFlags.None; flags |= flag; maskOffset++; } { var flag = intorobotoPacker(ref packable.intoroboto, prev.intoroboto, buffer, ref bitposition, frameId, writeFlags); mask[maskOffset] = flag != SerializationFlags.None; flags |= flag; maskOffset++; } return(flags); }
public static SerializationFlags Unpack(ref PackFrame_TestPackObject packable, ref FastBitMask128 mask, ref FastBitMask128 isCompleteMask, ref int maskOffset, byte[] buffer, ref int bitposition, int frameId, SerializationFlags writeFlags) { SerializationFlags flags = SerializationFlags.None; { if (mask[maskOffset]) { var flag = rotationUnpacker(ref packable.rotation, buffer, ref bitposition, frameId, writeFlags); isCompleteMask[maskOffset] = (flag & SerializationFlags.IsComplete) != 0; mask[maskOffset] = flag != 0; flags |= flag; } maskOffset++; } { if (mask[maskOffset]) { var flag = intorobotoUnpacker(ref packable.intoroboto, buffer, ref bitposition, frameId, writeFlags); isCompleteMask[maskOffset] = (flag & SerializationFlags.IsComplete) != 0; mask[maskOffset] = flag != 0; flags |= flag; } maskOffset++; } return(flags); }