Beispiel #1
0
        internal static WeatherData Parse(IniParser parser)
        {
            var type   = parser.ParseEnum <WeatherType>();
            var result = parser.ParseTopLevelBlock(FieldParseTable);

            result.WeatherType = type;
            return(result);
        }
Beispiel #2
0
 internal static Modifier Parse(IniParser parser)
 {
     return(new Modifier
     {
         ModifierType = parser.ParseEnum <ModifierType>(),
         Amount = parser.ParsePercentage()
     });
 }
        internal static WindowTransitionTransition Parse(IniParser parser)
        {
            var type   = parser.ParseEnum <WindowTransitionStyle>();
            var result = parser.ParseBlock(FieldParseTable);

            result.Type = type;
            return(result);
        }
Beispiel #4
0
 internal static ArmorValue Parse(IniParser parser)
 {
     return(new ArmorValue
     {
         DamageType = parser.ParseEnum <DamageType>(),
         Percent = parser.ParsePercentage()
     });
 }
Beispiel #5
0
 internal static WaterSet Parse(IniParser parser)
 {
     return(parser.ParseTopLevelNamedBlock(
                (x, name) => x.TimeOfDay = IniParser.ParseEnum <TimeOfDay>(new IniToken(IniTokenType.Identifier, default(IniTokenPosition))
     {
         StringValue = name
     }),
                FieldParseTable));
 }
Beispiel #6
0
        internal static LodPreset Parse(IniParser parser)
        {
            parser.NextToken(IniTokenType.Identifier);
            parser.NextToken(IniTokenType.Equals);

            var result = new LodPreset
            {
                Level     = parser.ParseEnum <StaticGameLodLevel>(),
                CpuType   = parser.ParseEnum <CpuType>(),
                MHz       = parser.ParseInteger(),
                GpuType   = parser.ParseEnum <GpuType>(),
                GpuMemory = parser.ParseInteger()
            };

            parser.NextTokenIf(IniTokenType.EndOfLine);

            return(result);
        }
Beispiel #7
0
        internal static LodPreset Parse(IniParser parser)
        {
            var result = new LodPreset
            {
                Level     = parser.ParseEnum <LodType>(),
                CpuType   = parser.ParseEnum <CpuType>(),
                MHz       = parser.ParseInteger(),
                GpuType   = parser.ParseEnum <GpuType>(),
                GpuMemory = parser.ParseInteger()
            };

            if (parser.SageGame >= SageGame.Bfme)
            {
                result.Unknown          = parser.ParseInteger();
                result.ResolutionWidth  = parser.ParseInteger();
                result.ResolutionHeight = parser.ParseInteger();
            }
            return(result);
        }
Beispiel #8
0
 internal static RandomVariable Parse(IniParser parser)
 {
     return(new RandomVariable
     {
         Low = parser.ParseFloat(),
         High = parser.ParseFloat(),
         DistributionType = (parser.CurrentTokenType == IniTokenType.Identifier)
             ? parser.ParseEnum <DistributionType>()
             : DistributionType.Uniform
     });
 }
Beispiel #9
0
        private void ParseGroupProperty(IniParser parser, Action <DamageFXGroup> callback)
        {
            var damageType = parser.ParseEnum <DamageType>();

            var group = Groups.FirstOrDefault(x => x.DamageType == damageType);

            if (group == null)
            {
                Groups.Add(group = new DamageFXGroup(damageType));
            }

            callback(group);
        }
Beispiel #10
0
        internal static BenchProfile Parse(IniParser parser)
        {
            var result = new BenchProfile
            {
                CpuType = parser.ParseEnum <CpuType>(),
                MHz     = parser.ParseInteger(),

                Unknown1 = parser.ParseFloat(),
                Unknown2 = parser.ParseFloat(),
                Unknown3 = parser.ParseFloat()
            };

            return(result);
        }
Beispiel #11
0
        internal static RandomVariable Parse(IniParser parser)
        {
            var result = new RandomVariable
            {
                Low  = parser.ParseFloat(),
                High = parser.ParseFloat()
            };

            var distributionType = parser.GetNextTokenOptional();

            result.DistributionType = (distributionType != null)
                ? IniParser.ParseEnum <DistributionType>(distributionType.Value)
                : DistributionType.Uniform;

            return(result);
        }
Beispiel #12
0
        internal static BenchProfile Parse(IniParser parser)
        {
            parser.NextToken(IniTokenType.Identifier);
            parser.NextToken(IniTokenType.Equals);

            var result = new BenchProfile
            {
                CpuType = parser.ParseEnum <CpuType>(),
                MHz     = parser.ParseInteger(),

                Unknown1 = parser.ParseFloat(),
                Unknown2 = parser.ParseFloat(),
                Unknown3 = parser.ParseFloat()
            };

            parser.NextToken(IniTokenType.EndOfLine);

            return(result);
        }
Beispiel #13
0
 internal static WaterSet Parse(IniParser parser)
 {
     return(parser.ParseTopLevelNamedBlock(
                (x, name) => x.TimeOfDay = IniParser.ParseEnum <TimeOfDay>(new IniToken(name, default(IniTokenPosition))),
                FieldParseTable));
 }