protected override DungeonGeneratorConfiguration <int> GetBasicConfiguration(NamedMapDescription namedMapDescription) { var configuration = base.GetBasicConfiguration(namedMapDescription); configuration.RepeatModeOverride = RoomTemplateRepeatMode.NoRepeat; return(configuration); }
private DungeonGeneratorInput <int> GetInput(NamedMapDescription namedMapDescription) { return(new DungeonGeneratorInput <int>(namedMapDescription.Name, namedMapDescription.MapDescription, new DungeonGeneratorConfiguration <int>() { RoomsCanTouch = Options.CanTouch, EarlyStopIfIterationsExceeded = 20000, })); }
private DungeonGeneratorConfiguration <int> GetGreedyTreesConfiguration(NamedMapDescription namedMapDescription) { var configuration = GetOldConfiguration(namedMapDescription); configuration.SimulatedAnnealingConfiguration.GetConfiguration(0).HandleTreesGreedily = true; return(configuration); }
protected override DungeonGeneratorConfiguration <int> GetBasicConfiguration(NamedMapDescription namedMapDescription) { var configuration = base.GetBasicConfiguration(namedMapDescription); var chainDecompositionOld = new BreadthFirstChainDecompositionOld <int>(); var chainDecomposition = new TwoStageChainDecomposition <int>(namedMapDescription.MapDescription, chainDecompositionOld); var chains = chainDecomposition.GetChains(namedMapDescription.MapDescription.GetGraph()); configuration.Chains = chains; return(configuration); }
private DungeonGeneratorConfiguration <int> GetOldConfiguration(NamedMapDescription namedMapDescription) { var configuration = GetBasicConfiguration(namedMapDescription); configuration.SimulatedAnnealingConfiguration = new SimulatedAnnealingConfigurationProvider(new SimulatedAnnealingConfiguration() { MaxIterationsWithoutSuccess = 100, }); return(configuration); }
private DungeonGeneratorConfiguration <int> GetChainsConfiguration(NamedMapDescription namedMapDescription) { var chainDecompositionOld = new BreadthFirstChainDecomposition <int>(new ChainDecompositionConfiguration()); var chainDecomposition = new TwoStageChainDecomposition <int>(namedMapDescription.MapDescription, chainDecompositionOld); var configuration = GetOldConfiguration(namedMapDescription); configuration.Chains = chainDecomposition.GetChains(namedMapDescription.MapDescription.GetGraph()); return(configuration); }
private DungeonGeneratorConfiguration <int> GetConfiguration(NamedMapDescription namedMapDescription, RoomTemplateRepeatMode repeatMode = RoomTemplateRepeatMode.AllowRepeat) { var configuration = GetBasicConfiguration(namedMapDescription); configuration.SimulatedAnnealingConfiguration = new SimulatedAnnealingConfigurationProvider(new SimulatedAnnealingConfiguration() { MaxIterationsWithoutSuccess = 100, HandleTreesGreedily = true, }); configuration.RepeatModeOverride = repeatMode; return(configuration); }
private DungeonGeneratorConfiguration <int> GetOldConfiguration(NamedMapDescription namedMapDescription) { var chainDecompositionOld = new BreadthFirstChainDecompositionOld <int>(); var chainDecomposition = new TwoStageChainDecomposition <int>(namedMapDescription.MapDescription, chainDecompositionOld); var configuration = GetBasicConfiguration(namedMapDescription); configuration.Chains = chainDecomposition.GetChains(namedMapDescription.MapDescription.GetGraph()); configuration.SimulatedAnnealingConfiguration = new SimulatedAnnealingConfigurationProvider(new SimulatedAnnealingConfiguration() { MaxIterationsWithoutSuccess = 10000, }); return(configuration); }
private DungeonGeneratorConfiguration <int> PreferLargeCycles(NamedMapDescription namedMapDescription) { var configuration = GetBasicConfiguration(namedMapDescription); configuration.SimulatedAnnealingConfiguration = new SimulatedAnnealingConfigurationProvider(new SimulatedAnnealingConfiguration() { MaxIterationsWithoutSuccess = 100, }); configuration.ChainDecompositionConfiguration = new ChainDecompositionConfiguration() { PreferSmallCycles = false, }; return(configuration); }
private DungeonGeneratorConfiguration <int> GetChainsConfiguration(NamedMapDescription namedMapDescription) { var configuration = GetBasicConfiguration(namedMapDescription); return(configuration); }
private DungeonGeneratorConfiguration <int> GetChainsAndMaxIterationsAndTreesConfiguration(NamedMapDescription namedMapDescription) { var configuration = GetBasicConfiguration(namedMapDescription); configuration.SimulatedAnnealingConfiguration = new SimulatedAnnealingConfigurationProvider(new SimulatedAnnealingConfiguration() { MaxIterationsWithoutSuccess = 100, HandleTreesGreedily = true, }); return(configuration); }
protected virtual DungeonGeneratorConfiguration <int> GetInitialConfiguration(NamedMapDescription namedMapDescription) { return(GetBasicConfiguration(namedMapDescription)); }
protected abstract DungeonGeneratorConfiguration <int> GetOldConfiguration(NamedMapDescription namedMapDescription);
private DungeonGeneratorConfiguration <int> GetWithoutChainDecompositionConfiguration(NamedMapDescription namedMapDescription) { var chainDecompositionOld = new BreadthFirstChainDecompositionOld <int>(); var chainDecomposition = new Edgar.Legacy.Core.ChainDecompositions.TwoStageChainDecomposition <int>(namedMapDescription.MapDescription, chainDecompositionOld); var configuration = GetNewConfiguration(namedMapDescription); configuration.Chains = chainDecomposition.GetChains(namedMapDescription.MapDescription.GetGraph()); return(configuration); }