public MaxStageTwoFailuresMutation(int priority, SimulatedAnnealingConfigurationProvider simulatedAnnealingConfiguration, MaxStageTwoFailuresStrategy strategy, double minValue, double multiplier)
 {
     Priority = priority;
     SimulatedAnnealingConfiguration = simulatedAnnealingConfiguration;
     Strategy   = strategy;
     MinValue   = minValue;
     Multiplier = multiplier;
 }
 public SimulatedAnnealingEvolver(IChainBasedLayoutOperations <TLayout, TNode> layoutOperations, SimulatedAnnealingConfigurationProvider configurationProvider, bool addNodesGreedilyBeforeEvolve = false)
 {
     LayoutOperations                  = layoutOperations ?? throw new ArgumentNullException(nameof(layoutOperations));
     ConfigurationProvider             = configurationProvider ?? throw new ArgumentNullException(nameof(configurationProvider));
     this.addNodesGreedilyBeforeEvolve = addNodesGreedilyBeforeEvolve;
 }
 public DungeonGeneratorConfiguration()
 {
     ChainDecompositionConfiguration = new ChainDecompositionConfiguration();
     SimulatedAnnealingConfiguration = new SimulatedAnnealingConfigurationProvider(LayoutEvolvers.SimulatedAnnealing.SimulatedAnnealingConfiguration.GetDefaultConfiguration());
 }