Ejemplo n.º 1
0
        internal static RangeDuration Parse(IniParser parser)
        {
            var token = parser.GetNextToken(IniParser.SeparatorsColon);

            if (parser.IsFloat(token))
            {
                var value = parser.ScanFloat(token);
                return(new RangeDuration
                {
                    Min = value,
                    Max = value
                });
            }

            if (token.Text.ToUpper() != "MIN")
            {
                throw new IniParseException($"Unexpected range duration: {token.Text}", token.Position);
            }

            var minValue = parser.ScanInteger(parser.GetNextToken());

            return(new RangeDuration
            {
                Min = minValue,
                Max = parser.ParseAttributeInteger("Max")
            });
        }
Ejemplo n.º 2
0
        internal static Payload Parse(IniParser parser)
        {
            var result = new Payload
            {
                Name     = parser.ParseAssetReference(),
                Quantity = 1
            };

            var quantityToken = parser.GetNextTokenOptional();

            if (quantityToken != null)
            {
                result.Quantity = parser.ScanInteger(quantityToken.Value);
            }

            return(result);
        }