Beispiel #1
0
        public Parameter ReadItem()
        {
            string key;
              if (PreSix)
            {
              key = ReadFourByteString();
            }
              else
            {
              key = ReadTokenOrString();
            }

              string type = ReadFourByteString();
              DebugOutput.Dump("key: {0} ({1})", key, type);

              Parameter parameter = null;

              switch (type)
            {
            case "alis":
              parameter = new AliasParameter();
              break;
            case "UntF":
              parameter = new DoubleParameter(true);
              break;
            case "bool":
              parameter = new BoolParameter();
              break;
            case "doub":
              parameter = new DoubleParameter(false);
              break;
            case "enum":
              parameter = new EnumParameter();
              break;
            case "obj":
              parameter = new ReferenceParameter();
              break;
            case "VlLs":
              parameter = new ListParameter();
              break;
            case "long":
              parameter = new LongParameter();
              break;
            case "Pth":
              parameter = new PathParameter();
              break;
            case "TEXT":
              parameter = new TextParameter();
              break;
            case "ObAr":
              parameter = new ObArParameter();
              break;
            case "Objc":
              parameter = new ObjcParameter();
              break;
            case "tdta":
              parameter = new RawDataParameter();
              break;
            case "type":
              parameter = new TypeParameter();
              break;
            default:
              Console.WriteLine("ReadItem: type {0} unknown!", type);
              throw new GimpSharpException();
            }

              DebugOutput.Level++;
              parameter.Parse(this);
              DebugOutput.Level--;
              parameter.Name = key;

              return parameter;
        }
Beispiel #2
0
        public Parameter ReadItem()
        {
            string key;

            if (PreSix)
            {
                key = ReadFourByteString();
            }
            else
            {
                key = ReadTokenOrString();
            }

            string type = ReadFourByteString();

            DebugOutput.Dump($"key: {key} ({type})");

            Parameter parameter = null;

            switch (type)
            {
            case "alis":
                parameter = new AliasParameter();
                break;

            case "UntF":
                parameter = new DoubleParameter(true);
                break;

            case "bool":
                parameter = new BoolParameter();
                break;

            case "doub":
                parameter = new DoubleParameter(false);
                break;

            case "enum":
                parameter = new EnumParameter();
                break;

            case "obj":
                parameter = new ReferenceParameter();
                break;

            case "VlLs":
                parameter = new ListParameter();
                break;

            case "long":
                parameter = new LongParameter();
                break;

            case "Pth":
                parameter = new PathParameter();
                break;

            case "TEXT":
                parameter = new TextParameter();
                break;

            case "ObAr":
                parameter = new ObArParameter();
                break;

            case "Objc":
                parameter = new ObjcParameter();
                break;

            case "tdta":
                parameter = new RawDataParameter();
                break;

            case "type":
                parameter = new TypeParameter();
                break;

            default:
                Console.WriteLine("ReadItem: type {0} unknown!", type);
                throw new GimpSharpException();
            }

            DebugOutput.Level++;
            parameter.Parse(this);
            DebugOutput.Level--;
            parameter.Name = key;

            return(parameter);
        }