public override unsafe void WriteTo(ref byte *Buffer) { base.WriteTo(ref Buffer); ObjectID.WriteTo(ref Buffer); *((ushort *)Buffer) = (ushort)ContentObjects.Length; Buffer += TypeSizes.SHORT; foreach (ObjectBase obj in ContentObjects) { obj.WriteTo(ref Buffer); } }
public override int WriteTo(byte[] Buffer, int StartIndex = 0) { int cursor = StartIndex; cursor += base.WriteTo(Buffer, cursor); cursor += ObjectID.WriteTo(Buffer, cursor); Array.Copy(BitConverter.GetBytes(Convert.ToUInt16(ContentObjects.Length)), 0, Buffer, cursor, TypeSizes.SHORT); cursor += TypeSizes.SHORT; foreach (ObjectBase inventoryObject in ContentObjects) { cursor += inventoryObject.WriteTo(Buffer, cursor); } return(cursor - StartIndex); }