void WriteType(IOMetaAttribute type, string name, object obj) { obj.ForEachChild(type.GetSheetPointers(name), WriteSheet); if (type.Regions.Count == 0) { return; } var sheet = new WriteSheetContext(serializer); obj.ForEachChild(type.GetPointers(V2Int.Zero), sheet.WriteRegion); ValueRanges.Add(new ValueRange { Values = sheet.Values, MajorDimension = "COLUMNS", Range = type.GetA1Range(name, SheetsIO.FirstCell) }); }
public static string GetA1Range(this IOMetaAttribute type, string sheet, string a2First) => $"'{sheet.Trim()}'!{a2First}:{WriteA1(type.Size.Add(ReadA1(a2First)).Add(new V2Int(-1, -1)))}";
public WriteContext(IOMetaAttribute type, string name, object obj, IValueSerializer serializer) { ValueRanges = new List <ValueRange>(); this.serializer = serializer; WriteType(type, name, obj); }
public static V2Int GetSize(this IOMetaAttribute meta) => meta?.Size ?? new V2Int(1, 1);