private MapGenerator CreateGenerator() { _mapSize = _parameterManager.MapSizeVector.x; int currentScaler = 0; switch (_mapSize) { case 200: currentScaler = _mapScalerSmall; break; case 500: currentScaler = _mapScalerMedium; break; case 1000: currentScaler = _mapScalerBig; break; } var buildingGenerateStrategy = new BuildingGenerateStrategy(new BuildingData( _parameterManager.BuildingValue * currentScaler / 2, 7 * currentScaler, 1)); var forestGenerateStrategy = new GenerateLandscapeStrategy(new ZoneData( _parameterManager.ForestValue * currentScaler / 2, 6 * currentScaler, 2, _parameterManager.SizeOfForest * currentScaler, 5 * currentScaler)); var bushGenerateStrategy = new GenerateLandscapeStrategy(new ZoneData( _parameterManager.ForestValue * currentScaler, 2 * currentScaler, 3, 4, 2)); var rockGenerateStrategy = new GenerateLandscapeStrategy(new ZoneData( _parameterManager.ForestValue * currentScaler, 2 * currentScaler, 4, 4, 2)); return(new MapGenerator(buildingGenerateStrategy, forestGenerateStrategy, bushGenerateStrategy, rockGenerateStrategy)); }
public MapGenerator(BuildingGenerateStrategy buildingGenerateStrategy, GenerateLandscapeStrategy forestGenerateStrategy, GenerateLandscapeStrategy bushGenerateStrategy, GenerateLandscapeStrategy rockGenerateStrategy) { _buildingGenerateStrategy = buildingGenerateStrategy; _forestGenerateStrategy = forestGenerateStrategy; _bushGenerateStrategy = bushGenerateStrategy; _rockGenerateStrategy = rockGenerateStrategy; }