public static StrategyFactory ForAllComponentsEW <TEdgeWeighter>(Func <State, IServices, TEdgeWeighter> edgeWeighterProvider) where TEdgeWeighter : IEdgeWeighter { return(new StrategyFactory( StrategyName.ForEWStrategy <AllComponentsEWStrategy, TEdgeWeighter>(), BiggestComponentEWStrategy((s, ss) => edgeWeighterProvider(s, ss)))); }
public static StrategyFactory Create <TStrategy>(Func <State, IServices, TStrategy> strategyProvider, string namePrefix = null) where TStrategy : IStrategy { return(new StrategyFactory(StrategyName.For <TStrategy>(namePrefix), (s, ss) => strategyProvider(s, ss))); }
public static SetupStrategyFactory Create <TStrategy>(Func <State, IServices, TStrategy> strategyProvider) where TStrategy : ISetupStrategy { return(new SetupStrategyFactory(StrategyName.ForSetup <TStrategy>(), (s, ss) => strategyProvider(s, ss))); }