コード例 #1
0
ファイル: LightDBMgr.cs プロジェクト: uvbs/Asda2-Server
        private static DataFieldDefinition CreateFlatArray(IDataField dataField)
        {
            FlatArrayFieldDefinition arrayFieldDefinition = new FlatArrayFieldDefinition();

            arrayFieldDefinition.Name    = dataField.Name;
            arrayFieldDefinition.Offset  = 1;
            arrayFieldDefinition.Pattern = "";
            return((DataFieldDefinition)arrayFieldDefinition);
        }
コード例 #2
0
ファイル: LightDBMgr.cs プロジェクト: uvbs/Asda2-Server
        public static void MapFlatArray(this LightDBDefinitionSet defs, IDataField dataField,
                                        IDataFieldDefinition fieldDef, Dictionary <string, List <SimpleDataColumn> > mappedFields)
        {
            FlatArrayFieldDefinition arrayFieldDefinition = (FlatArrayFieldDefinition)fieldDef;
            FlatArrayDataField       flatArrayDataField   = (FlatArrayDataField)dataField;

            TableDefinition[] defaultTables =
                defs.EnsureTables(arrayFieldDefinition.Table, dataField.DataHolderDefinition);
            SimpleFlatFieldDefinition[] columns        = arrayFieldDefinition.GetColumns(flatArrayDataField.Length);
            IDataFieldAccessor[]        arrayAccessors = flatArrayDataField.ArrayAccessors;
            for (int index = 0; index < columns.Length; ++index)
            {
                SimpleFlatFieldDefinition fieldDef1 = columns[index];
                LightDBMgr.AddMapping(defs, defaultTables, fieldDef1, mappedFields,
                                      (IFlatDataFieldAccessor)arrayAccessors[index], dataField.MappedMember);
            }
        }
コード例 #3
0
ファイル: LightDBMgr.cs プロジェクト: NecroSharper/WCell
        private static DataFieldDefinition CreateNestedArray(IDataField dataField)
        {
            var arrField    = (NestedArrayDataField)dataField;
            var innerFields = ((NestedArrayAccessor[])arrField.ArrayAccessors)[0].InnerFields;
            var segments    = new FlatArrayFieldDefinition[innerFields.Count];
            int i           = 0;

            foreach (var innerField in innerFields.Values)
            {
                var segment = new FlatArrayFieldDefinition {
                    Name    = innerField.Name,
                    Offset  = 1,
                    Pattern = ""
                };
                segments[i++] = segment;
            }
            return(new NestedArrayFieldDefinition {
                Name = dataField.Name,
                Segments = segments
            });
        }
コード例 #4
0
ファイル: LightDBMgr.cs プロジェクト: uvbs/Asda2-Server
        private static DataFieldDefinition CreateNestedArray(IDataField dataField)
        {
            Dictionary <string, IDataField> innerFields =
                ((NestedArrayAccessor[])((ArrayDataField)dataField).ArrayAccessors)[0].InnerFields;

            FlatArrayFieldDefinition[] arrayFieldDefinitionArray = new FlatArrayFieldDefinition[innerFields.Count];
            int num = 0;

            foreach (IDataField dataField1 in innerFields.Values)
            {
                FlatArrayFieldDefinition arrayFieldDefinition1 = new FlatArrayFieldDefinition();
                arrayFieldDefinition1.Name    = dataField1.Name;
                arrayFieldDefinition1.Offset  = 1;
                arrayFieldDefinition1.Pattern = "";
                FlatArrayFieldDefinition arrayFieldDefinition2 = arrayFieldDefinition1;
                arrayFieldDefinitionArray[num++] = arrayFieldDefinition2;
            }

            NestedArrayFieldDefinition arrayFieldDefinition = new NestedArrayFieldDefinition();

            arrayFieldDefinition.Name     = dataField.Name;
            arrayFieldDefinition.Segments = arrayFieldDefinitionArray;
            return((DataFieldDefinition)arrayFieldDefinition);
        }