예제 #1
0
 public override void Read(BinaryReader r)
 {
     base.Read(r);
     Name        = r.ReadFString(128);
     NumChildren = r.ReadUInt32();
     PhysicsType = new MtlNamePhysicsType[NumChildren];
     MatType     = NumChildren == 0 ? MtlNameTypeEnum.Single : MtlNameTypeEnum.Library;
     for (var i = 0; i < NumChildren; i++)
     {
         PhysicsType[i] = (MtlNamePhysicsType)Enum.ToObject(typeof(MtlNamePhysicsType), r.ReadUInt32());
     }
 }
        public override void Read(BinaryReader b)
        {
            // Appears to have 4 more Bytes than ChunkMtlName_744
            base.Read(b);

            Name        = b.ReadFString(128);
            NumChildren = b.ReadUInt32();
            PhysicsType = new MtlNamePhysicsType[NumChildren];
            MatType     = NumChildren == 0 ? MtlNameTypeEnum.Single : MtlNameTypeEnum.Library;

            for (int i = 0; i < NumChildren; i++)
            {
                PhysicsType[i] = (MtlNamePhysicsType)Enum.ToObject(typeof(MtlNamePhysicsType), b.ReadUInt32());
            }
        }
예제 #3
0
 public override void Read(BinaryReader r)
 {
     base.Read(r);
     MatType = (MtlNameTypeEnum)r.ReadUInt32();
     // if 0x01, then material lib.  If 0x12, mat name.  This is actually a bitstruct.
     SkipBytes(r, 4);               // NFlags2
     Name        = r.ReadFString(128);
     PhysicsType = new MtlNamePhysicsType[] { (MtlNamePhysicsType)r.ReadUInt32() };
     NumChildren = r.ReadUInt32();
     // Now we need to read the Children references.  2 parts; the number of children, and then 66 - numchildren padding
     ChildIDs = new uint[NumChildren];
     for (var i = 0; i < NumChildren; i++)
     {
         ChildIDs[i] = r.ReadUInt32();
     }
     SkipBytes(r, 32);
 }