public static void Write(this Stream output, GuerillaBlock block) { var queueableBinaryWriter = new QueueableBinaryWriter(output, (int)output.Position + block.SerializedSize); block.QueueWrites(queueableBinaryWriter); block.Write_(queueableBinaryWriter); queueableBinaryWriter.WriteQueue(); }
public virtual void QueueWrites(QueueableBinaryWriter binaryWriter) { // call QueueableBinaryWriter.QueueWrite on each instance field // ie; GuerillaBlock arrays, inline GuerillaBlock structs, data arrays }
public virtual void Write_(QueueableBinaryWriter queueableBinaryWriter) { return; }