private void WriteFields(TableWriter writer, List <PackageField> fields) { writer.WriteInt32(fields.Count); for (int i = 0; i < fields.Count; ++i) { var field = fields[i]; var basic = BasicUtil.GetType(field.Type); if (basic != null) { writer.WriteByte(0); writer.WriteByte((sbyte)basic.BasicIndex); writer.WriteBool(field.Array); } else { writer.WriteByte(1); writer.WriteString(field.Type); writer.WriteBool(field.Array); } } }