Improvement queue (#11677)

* Improvement queue: Framework

* Improvement queue: Minimal UI

* Remove debug code

* Fix merge error

* Address tuvus's input

* Implement tuvus's UI wishes

* Fix merge errors

* Fix more merge errors
This commit is contained in:
SomeTroglodyte
2024-06-14 16:39:46 +02:00
committed by GitHub
parent 728713dc3e
commit e74897469c
9 changed files with 193 additions and 106 deletions

View File

@ -177,7 +177,7 @@ class TileImprovementConstructionTests {
@Test
fun buildingRoadBuildsARoad() {
val tile = tileMap[1,1]
tile.improvementFunctions.changeImprovement("Road")
tile.improvementFunctions.setImprovement("Road")
assert(tile.roadStatus == RoadStatus.Road)
}
@ -185,7 +185,7 @@ class TileImprovementConstructionTests {
fun removingRoadRemovesRoad() {
val tile = tileMap[1,1]
tile.roadStatus = RoadStatus.Road
tile.improvementFunctions.changeImprovement("Remove Road")
tile.improvementFunctions.setImprovement("Remove Road")
assert(tile.roadStatus == RoadStatus.None)
}
@ -193,9 +193,9 @@ class TileImprovementConstructionTests {
fun removingForestRemovesForestAndLumbermill() {
val tile = tileMap[1,1]
tile.addTerrainFeature("Forest")
tile.improvementFunctions.changeImprovement("Lumber mill")
tile.improvementFunctions.setImprovement("Lumber mill")
assert(tile.getTileImprovement()!!.name == "Lumber mill")
tile.improvementFunctions.changeImprovement("Remove Forest")
tile.improvementFunctions.setImprovement("Remove Forest")
assert(tile.terrainFeatures.isEmpty())
assert(tile.improvement == null) // Lumber mill can ONLY be on Forest, and is therefore removed
}
@ -206,9 +206,9 @@ class TileImprovementConstructionTests {
tile.addTerrainFeature("Forest")
tile.resource = "Deer"
tile.baseTerrain = "Plains"
tile.improvementFunctions.changeImprovement("Camp")
tile.improvementFunctions.setImprovement("Camp")
assert(tile.getTileImprovement()!!.name == "Camp")
tile.improvementFunctions.changeImprovement("Remove Forest")
tile.improvementFunctions.setImprovement("Remove Forest")
assert(tile.terrainFeatures.isEmpty())
assert(tile.improvement == "Camp") // Camp can be both on Forest AND on Plains, so not removed
}
@ -253,7 +253,7 @@ class TileImprovementConstructionTests {
tile.addTerrainFeature("Forest")
val lumberMill = testGame.ruleset.tileImprovements["Lumber mill"]!!
tile.improvementFunctions.changeImprovement(lumberMill.name)
tile.improvementFunctions.setImprovement(lumberMill.name)
assert(tile.getTileImprovement() == lumberMill)
// 1f 1p from forest, 2p from lumber mill since all techs are researched