示例#1
0
        public override void Parse(ActionParser parser)
        {
            int nr1 = parser.ReadInt32();

            string txt = parser.ReadFourByteString();

            if (txt == "txtu")
            {
                int nr2 = parser.ReadByte();

                int length = parser.ReadInt32();

                for (int i = 0; i < 2; i++)
                {
                    parser.ReadByte();
                }

                Path = parser.ReadUnicodeString(length);
                parser.ReadByte();
            }
            else
            {
                parser.ReadBytes(9);
                Path = parser.ReadString();
                parser.ReadBytes(255 - Path.Length);
            }
        }
示例#2
0
        public override void Parse(ActionParser parser)
        {
            int nr1 = parser.ReadInt32();

              string txt = parser.ReadFourByteString();

              if (txt == "txtu")
            {
              int nr2 = parser.ReadByte();

              int length = parser.ReadInt32();

              for (int i = 0; i < 2; i++)
            parser.ReadByte();

              Path = parser.ReadUnicodeString(length);
              parser.ReadByte();
            }
              else
            {
              parser.ReadBytes(9);
              Path = parser.ReadString();
              parser.ReadBytes(255 - Path.Length);
            }
        }
示例#3
0
 public override void Parse(ActionParser parser)
 {
     if (parser.PreSix)
     {
         Value = parser.ReadFourByteString();
     }
     else
     {
         Type  = parser.ReadUnicodeString();
         Value = parser.ReadTokenOrString();
     }
 }
示例#4
0
 public override void Parse(ActionParser parser)
 {
     if (parser.PreSix)
     {
       Value = parser.ReadFourByteString();
     }
       else
     {
       Type = parser.ReadUnicodeString();
       Value = parser.ReadTokenOrString();
     }
 }
示例#5
0
        public override void Parse(ActionParser parser)
        {
            if (parser.PreSix)
            {
                _classID2 = parser.ReadFourByteString();
            }
            else
            {
                _classID = parser.ReadUnicodeString();
                DebugOutput.Dump("ClassID: " + _classID);
                _classID2 = parser.ReadTokenOrString();
            }

            DebugOutput.Dump("ClassID2: " + _classID2);

            int numberOfItems = parser.ReadInt32();

            DebugOutput.Dump("NumberOfItems: " + numberOfItems);

            DebugOutput.Level++;
            _children.Parse(parser, numberOfItems);
            DebugOutput.Level--;
        }
示例#6
0
        public override void Parse(ActionParser parser)
        {
            if (parser.PreSix)
            {
                _classID2 = parser.ReadTokenOrString();
                DebugOutput.Dump("ClassID2: " + _classID2);

                int numberOfItems = parser.ReadInt32();
                DebugOutput.Dump("NumberOfItems: " + numberOfItems);
            }
            else
            {
                int numberOfItems = parser.ReadInt32();
                DebugOutput.Dump("NumberOfItems: " + numberOfItems);

                _classID = parser.ReadUnicodeString();
                DebugOutput.Dump("ClassID: " + _classID);

                _classID2 = parser.ReadTokenOrString();
                DebugOutput.Dump("ClassID2: " + _classID2);
            }

            int numberOfFields = parser.ReadInt32();

            DebugOutput.Dump("NumberOfFields: " + numberOfFields);

            for (int i = 0; i < numberOfFields; i++)
            {
                string key  = parser.ReadTokenOrString();
                string type = parser.ReadFourByteString();
                _units = parser.ReadFourByteString();

                DebugOutput.Dump("key: {0} ({1}) {2}", key, type, _units);

                int numberOfItems = parser.ReadInt32();
                DebugOutput.Dump("NumberOfItems2: " + numberOfItems);

                switch (type)
                {
                case "UnFl":
                    for (int j = 0; j < numberOfItems; j++)
                    {
                        double val = parser.ReadDouble();

                        Coordinate <double> c;
                        if (i == 0)
                        {
                            c = new Coordinate <double>();
                            _value.Add(c);
                            c.X = val;
                        }
                        else
                        {
                            _value[j].Y = val;
                        }
                    }
                    break;

                default:
                    Console.WriteLine("ObAr:Unknown type: " + type);
                    break;
                }
            }
        }
示例#7
0
 public override void Parse(ActionParser parser)
 {
     Value = parser.ReadUnicodeString();
 }
示例#8
0
        public override void Parse(ActionParser parser)
        {
            if (parser.PreSix)
            {
              _classID2 = parser.ReadFourByteString();
            }
              else
            {
              _classID = parser.ReadUnicodeString();
              DebugOutput.Dump("ClassID: " + _classID);
              _classID2 = parser.ReadTokenOrString();
            }

              DebugOutput.Dump("ClassID2: " + _classID2);

              int numberOfItems = parser.ReadInt32();
              DebugOutput.Dump("NumberOfItems: " + numberOfItems);

              DebugOutput.Level++;
              _children.Parse(parser, numberOfItems);
              DebugOutput.Level--;
        }
示例#9
0
 public override void Parse(ActionParser parser)
 {
     Value = parser.ReadUnicodeString();
 }
示例#10
0
        public override void Parse(ActionParser parser)
        {
            if (parser.PreSix)
            {
              _classID2 = parser.ReadTokenOrString();
              DebugOutput.Dump("ClassID2: " + _classID2);

              int numberOfItems = parser.ReadInt32();
              DebugOutput.Dump("NumberOfItems: " + numberOfItems);
            }
              else
            {
              int numberOfItems = parser.ReadInt32();
              DebugOutput.Dump("NumberOfItems: " + numberOfItems);

              _classID = parser.ReadUnicodeString();
              DebugOutput.Dump("ClassID: " + _classID);

              _classID2 = parser.ReadTokenOrString();
              DebugOutput.Dump("ClassID2: " + _classID2);
            }

              int numberOfFields = parser.ReadInt32();
              DebugOutput.Dump("NumberOfFields: " + numberOfFields);

              for (int i = 0; i < numberOfFields; i++)
            {
              string key = parser.ReadTokenOrString();
              string type = parser.ReadFourByteString();
              _units = parser.ReadFourByteString();

              DebugOutput.Dump("key: {0} ({1}) {2}", key, type, _units);

              int numberOfItems = parser.ReadInt32();
              DebugOutput.Dump("NumberOfItems2: " + numberOfItems);

              switch (type)
            {
            case "UnFl":
              for (int j = 0; j < numberOfItems; j++)
            {
              double val = parser.ReadDouble();

              Coordinate<double> c;
              if (i == 0)
            {
              c = new Coordinate<double>();
              _value.Add(c);
              c.X = val;
            }
              else
            {
              _value[j].Y = val;
            }
            }
              break;
            default:
              Console.WriteLine("ObAr:Unknown type: " + type);
              break;
            }
            }
        }