private IReadOnlyList <IReferencedMatchers> CreateReferencedMatchers(IReferencedMatchers skillMatchers) => new[] { new ActionMatchers(_builderFactories.ActionBuilders), new AilmentMatchers(_builderFactories.EffectBuilders.Ailment), new ChargeTypeMatchers(_builderFactories.ChargeTypeBuilders), new DamageTypeMatchers(_builderFactories.DamageTypeBuilders), new FlagMatchers(_builderFactories.StatBuilders.Flag), new ItemSlotMatchers(_builderFactories.ItemSlotBuilders), new KeywordMatchers(_builderFactories.KeywordBuilders), skillMatchers, };
public ParsingData( IBuilderFactories builderFactories, IMatchContexts matchContexts, IReferencedMatchers skillMatchers) { _builderFactories = builderFactories; _matchContexts = matchContexts; _statMatchers = new Lazy <IReadOnlyList <IStatMatchers> >( () => CreateStatMatchers(new ModifierBuilder())); _referencedMatchers = new Lazy <IReadOnlyList <IReferencedMatchers> >( () => CreateReferencedMatchers(skillMatchers)); _statMatchersSelector = new Lazy <StatMatchersSelector>( () => new StatMatchersSelector(StatMatchers)); }