DEADSOFTWARE

251b9019611c3696503cd8ee5107541226139afe
[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / game / model / world / generator / WorldGeneratorConfig.kt
1 package ru.deadsoftware.cavedroid.game.model.world.generator
3 import com.badlogic.gdx.utils.TimeUtils
4 import ru.deadsoftware.cavedroid.game.model.world.Biome
6 data class WorldGeneratorConfig(
7 val width: Int,
8 val height: Int,
9 val seed: Long,
10 val minSurfaceHeight: Int,
11 val maxSurfaceHeight: Int,
12 val biomes: List<Biome>,
13 val minBiomeSize: Int,
14 val seaLevel: Int,
15 ) {
17 companion object {
18 private const val DEFAULT_WIDTH = 1024
19 private const val DEFAULT_HEIGHT = 256
20 private const val DEFAULT_MIN_BIOME_SIZE = 64
22 fun getDefaultWithSeed(seed: Long): WorldGeneratorConfig {
23 return WorldGeneratorConfig(
24 width = DEFAULT_WIDTH,
25 height = DEFAULT_HEIGHT,
26 seed = TimeUtils.millis(),
27 minSurfaceHeight = DEFAULT_HEIGHT / 4,
28 maxSurfaceHeight = DEFAULT_HEIGHT * 3 / 4,
29 biomes = Biome.entries.toList(),
30 minBiomeSize = DEFAULT_MIN_BIOME_SIZE,
31 seaLevel = DEFAULT_HEIGHT / 2,
32 )
33 }
35 }
37 }