public static IReadOnlyList <Modifier> Parse(IParser parser, IEnumerable <IGivenStats> givenStats) { var modifierSource = new ModifierSource.Global(new ModifierSource.Local.Given()); var givenParser = new GivenStatsParser(parser, modifierSource); foreach (var given in givenStats) { givenParser.Parse(given); } return(givenParser._modifiers); }
public static IReadOnlyList <Modifier> Parse(ICoreParser coreParser, IEnumerable <IGivenStats> givenStats) { var givenParser = new GivenStatsParser(coreParser); return(givenStats.SelectMany(givenParser.ParseToModifiers).ToList()); }
public IEnumerable <Func <IReadOnlyList <Modifier> > > CreateGivenModifierParseDelegates() => _givenStats.Select <IGivenStats, Func <IReadOnlyList <Modifier> > >( g => () => GivenStatsParser.Parse(_coreParser, g));
public IReadOnlyList <Modifier> ParseGivenModifiers() => GivenStatsParser.Parse(_coreParser, _givenStats);