protected override void ReadMembers(SR1_Reader reader, SR1_Structure parent)
        {
            while (true)
            {
                byte next = reader.ReadByte();
                reader.BaseStream.Position--;

                if (next == 0xFF)
                {
                    break;
                }

                SR1_String name = new SR1_String(16);
                name.SetReadMax(true).Read(reader, this, "[" + _List.Count.ToString() + "]");
                _List.Add(name);
            }

            pad.Read(reader, this, "pad");
            listStart.Read(reader, this, "listStart");

            for (int i = 0; i < _List.Count; i++)
            {
                string objectName = _List[i].ToString();
                if (objectName == "Shadow" ||
                    objectName == "Shadow2" ||
                    objectName == "Shadow3")
                {
                    continue;
                }

                reader.File._ObjectNames.Add(_List[i].ToString());
            }
        }
예제 #2
0
        protected override void ReadMembers(SR1_Reader reader, SR1_Structure parent)
        {
            name.SetReadMax(true).Read(reader, this, "name");
            intronum.Read(reader, this, "intronum");
            UniqueID.Read(reader, this, "UniqueID");
            link.Read(reader, this, "link", SR1_File.Version.Feb04, SR1_File.Version.Feb16);
            rotation.Read(reader, this, "rotation");
            position.Read(reader, this, "position");
            maxRad.Read(reader, this, "maxRad");
            maxRadSq.Read(reader, this, "maxRadSq");
            flags.Read(reader, this, "flags");
            data.Read(reader, this, "data");
            instance.Read(reader, this, "instance");
            multiSpline.Read(reader, this, "multiSpline");
            dsignal.Read(reader, this, "dsignal");
            specturalLightGroup.Read(reader, this, "specturalLightGroup");
            meshColor.Read(reader, this, "meshColor");
            spectralPosition.Read(reader, this, "spectralPosition");
            spad.Read(reader, this, "spad");

            if (!reader.File._IntroNames.Contains(name.ToString()))
            {
                reader.File._IntroNames.Add(name.ToString());
            }

            int uniqueID = UniqueID.Value;

            if (!reader.File._IntroIDs.Contains(uniqueID))
            {
                reader.File._IntroIDs.Add(uniqueID);
            }
        }
 protected override void ReadMembers(SR1_Reader reader, SR1_Structure parent)
 {
     tolevelname.SetReadMax(true).Read(reader, this, "tolevelname");
     MSignalID.Read(reader, this, "MSignalID");
     streamID.Read(reader, this, "streamID");
     minx.Read(reader, this, "minx");
     miny.Read(reader, this, "miny");
     minz.Read(reader, this, "minz");
     flags.Read(reader, this, "flags");
     maxx.Read(reader, this, "maxx");
     maxy.Read(reader, this, "maxy");
     maxz.Read(reader, this, "maxz");
     pad2.Read(reader, this, "pad2");
     toStreamUnit.Read(reader, this, "toStreamUnit");
     t1.Read(reader, this, "t1");
     t2.Read(reader, this, "t2");
 }