Пример #1
0
 internal ModelVariantRegionBlockBase(BinaryReader binaryReader)
 {
     this.regionNameMustMatchRegionNameInRenderModel = binaryReader.ReadStringID();
     this.invalidName_  = binaryReader.ReadBytes(1);
     this.invalidName_0 = binaryReader.ReadBytes(1);
     this.parentVariant = binaryReader.ReadShortBlockIndex1();
     this.permutations  = ReadModelVariantPermutationBlockArray(binaryReader);
     this.sortOrder     = (SortOrderNegativeValuesMeanCloserToTheCamera)binaryReader.ReadInt16();
     this.invalidName_1 = binaryReader.ReadBytes(2);
 }
 public ModelVariantRegionBlock(BinaryReader binaryReader)
 {
     this.regionNameMustMatchRegionNameInRenderModel = binaryReader.ReadStringID();
     this.padding = binaryReader.ReadByte();
     this.padding0 = binaryReader.ReadByte();
     this.parentVariant = binaryReader.ReadShortBlockIndex1();
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(ModelVariantPermutationBlock));
         this.permutations = new ModelVariantPermutationBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.permutations[i] = new ModelVariantPermutationBlock(binaryReader);
             }
         }
     }
     this.sortOrderNegativeValuesMeanCloserToTheCamera = (SortOrderNegativeValuesMeanCloserToTheCamera)binaryReader.ReadInt16();
     this.padding1 = binaryReader.ReadBytes(2);
 }