예제 #1
0
        /// <summary>
        /// Unserializes a BinaryStream into the Attributes of this Instance
        /// </summary>
        /// <param name="reader">The Stream that contains the FileData</param>
        public override void Unserialize(System.IO.BinaryReader reader)
        {
            version = reader.ReadUInt32();

            slb.BlockName = reader.ReadString();
            slb.BlockID   = reader.ReadUInt32();
            slb.Unserialize(reader);

            sgres.BlockName = reader.ReadString();
            sgres.BlockID   = reader.ReadUInt32();
            sgres.Unserialize(reader);

            lt.BlockName = reader.ReadString();
            lt.BlockID   = reader.ReadUInt32();
            lt.Unserialize(reader);

            rn.BlockName = reader.ReadString();
            rn.BlockID   = reader.ReadUInt32();
            rn.Unserialize(reader);

            ogn.BlockName = reader.ReadString();
            ogn.BlockID   = reader.ReadUInt32();
            ogn.Unserialize(reader);

            unknown2 = reader.ReadString();
            unknown3 = reader.ReadSingle();
            unknown4 = reader.ReadSingle();
            red      = reader.ReadSingle();
            green    = reader.ReadSingle();
            blue     = reader.ReadSingle();
        }
예제 #2
0
        /// <summary>
        /// Unserializes a BinaryStream into the Attributes of this Instance
        /// </summary>
        /// <param name="reader">The Stream that contains the FileData</param>
        public override void Unserialize(System.IO.BinaryReader reader)
        {
            version = reader.ReadUInt32();
            string s = reader.ReadString();

            sgres.BlockID = reader.ReadUInt32();
            sgres.Unserialize(reader);

            s = reader.ReadString();
            refnode.BlockID = reader.ReadUInt32();
            refnode.Unserialize(reader);

            s           = reader.ReadString();
            ogn.BlockID = reader.ReadUInt32();
            ogn.Unserialize(reader);

            if (version != 0x06)
            {
                unknown = new uint[reader.ReadUInt32()];
            }
            else
            {
                unknown = new uint[0];
            }
            for (int i = 0; i < unknown.Length; i++)
            {
                unknown[i] = reader.ReadUInt32();
            }

            items = new ShapeItem[reader.ReadUInt32()];
            for (int i = 0; i < items.Length; i++)
            {
                items[i] = new ShapeItem(this);
                items[i].Unserialize(reader);
            }

            parts = new ShapePart[reader.ReadUInt32()];
            for (int i = 0; i < parts.Length; i++)
            {
                parts[i] = new ShapePart();
                parts[i].Unserialize(reader);
            }
        }