示例#1
0
        private Dictionary <uint, AddonStateData> ParseBlock(BinaryReader stream)
        {
            Dictionary <uint, AddonStateData> stateDataList = new Dictionary <uint, AddonStateData>();
            long pos         = stream.BaseStream.Position;
            uint numsections = stream.ReadUInt32();

            stream.BaseStream.Position = pos + 0x10;
            for (uint i = 0; i <= numsections; i++)
            {
                AddonStateData ac = this.ParseSection(stream);
                stateDataList[ac.id] = ac;
            }
            return(stateDataList);
        }
示例#2
0
        private AddonStateData ParseSection(BinaryReader stream)
        {
            AddonStateData ac = new AddonStateData {
                // First row
                id   = stream.ReadUInt32(),
                xpos = stream.ReadSingle(),
                ypos = stream.ReadSingle(),
                zpos = stream.ReadSingle(),
                // Second row
                unknownState = stream.ReadInt32(),
                width        = stream.ReadUInt16(),
                height       = stream.ReadUInt16(),
                sticky       = stream.ReadByte(),
                state6       = stream.ReadByte(),
                state7       = stream.ReadByte(),
                state8       = stream.ReadByte(),
                unknown10    = stream.ReadInt32()
            };

            return(ac);
        }