Пример #1
0
        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)
            });
        }
Пример #2
0
 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)))}";
Пример #3
0
 public WriteContext(IOMetaAttribute type, string name, object obj, IValueSerializer serializer)
 {
     ValueRanges     = new List <ValueRange>();
     this.serializer = serializer;
     WriteType(type, name, obj);
 }
Пример #4
0
 public static V2Int GetSize(this IOMetaAttribute meta) => meta?.Size ?? new V2Int(1, 1);