コード例 #1
0
 public static void ProcessReferences(BdatStringCollection tables, BdatInfo info)
 {
     foreach (BdatStringTable table in tables.Tables.Values)
     {
         int id = table.BaseId;
         foreach (var item in table.Items)
         {
             foreach (BdatMember member in table.Members.Where(x => x.Type == BdatMemberType.Scalar))
             {
                 var val = ReadValue(table.Name, id, member.Name, tables, info);
                 if (val.childTable != null)
                 {
                     BdatStringItem childItem = tables[val.childTable][int.Parse(val.childId)];
                     childItem.ReferencedBy.Add(item);
                 }
             }
             id++;
         }
     }
 }