Beispiel #1
0
        public IEnumerable <StatBuilderResult> Build(BuildParameters parameters)
        {
            var sourceResults = _source.Build(parameters).ToList();
            var targetResults = _target.Build(parameters).ToList();

            if (sourceResults.Count != targetResults.Count)
            {
                throw new ParseException("Source and target stats of conversion must build to same amount of mods");
            }
            return(sourceResults.Zip(targetResults, (s, t) => Build(parameters.ModifierSource, s, t)));
        }
 public IEnumerable <StatBuilderResult> Build(BuildParameters parameters) =>
 _statBuilder.Build(parameters.With(_modifierSource));
Beispiel #3
0
 public IEnumerable <StatBuilderResult> Build(BuildParameters parameters) =>
 from r in _inner.Build(parameters)
 let stats = r.Stats.Select(_statConverter).ToList()
             select new StatBuilderResult(stats, r.ModifierSource, r.ValueConverter);
 public IEnumerable <StatBuilderResult> Build(BuildParameters parameters) =>
 from result in _inner.Build(parameters)
 let stats = result.Stats.SelectMany(s => _statConverter(_parameter, s))
             select new StatBuilderResult(stats.ToList(), result.ModifierSource, result.ValueConverter);