Exemplo n.º 1
0
 public MainRecordDef(DefinitionManager manager, JObject src)
     : base(manager, src)
 {
     ErrorHelpers.CheckDefProperty(src, "signature");
     _signature     = src.Value <string>("signature");
     headerDef      = BuildHeaderDef(src.Value <JObject>("flags"));
     containedInDef = (FormIdDef)JsonHelpers.Def(manager, src, "containedInElement");
 }
Exemplo n.º 2
0
 public StructDef(StructDef other) : base(other)
 {
     elementDefs    = new ReadOnlyCollection <ElementDef>(other.elementDefs);
     sortKeyIndices = other.sortKeyIndices == null
         ? null
         : new List <int>(other.sortKeyIndices);
     elementMap = other.elementMap == null
         ? null
         : new List <int>(other.elementMap);
     _canContainFormIds = other._canContainFormIds;
 }
Exemplo n.º 3
0
        private StructDef BuildHeaderDef(JObject flagsSrc)
        {
            var baseHeaderDef = manager.recordHeaderDef;

            if (flagsSrc == null)
            {
                return(baseHeaderDef);
            }
            var headerDef   = new StructDef(baseHeaderDef);
            var elementDefs = headerDef.elementDefs.ToList();

            elementDefs[2] = new UInt32Def((UInt32Def)elementDefs[2])
            {
                formatDef = (FormatDef)manager.BuildDef(flagsSrc)
            };
            headerDef.elementDefs = elementDefs.AsReadOnly();
            return(headerDef);
        }