Next turn button had a dead color assignment statement (#2403)

Color goes to Label instead of container
  String comparison special casing eliminated
  Clearer code structure
  Chose different colors - from standard palette but close to associated stat

Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
This commit is contained in:
SomeTroglodyte
2020-04-15 22:34:01 +02:00
committed by GitHub
parent 71f339eb26
commit 5033cca9c2

View File

@ -496,14 +496,14 @@ class WorldScreen(val viewingCiv:CivilizationInfo) : CameraStageBaseScreen() {
} }
} }
class NextTurnAction(val text:String,val action:()->Unit) private class NextTurnAction(val text:String, val color:Color, val action:()->Unit)
private fun updateNextTurnButton(isSomethingOpen: Boolean) { private fun updateNextTurnButton(isSomethingOpen: Boolean) {
val action:NextTurnAction = getNextTurnAction() val action:NextTurnAction = getNextTurnAction()
nextTurnAction = action.action nextTurnAction = action.action
nextTurnButton.setText(action.text.tr()) nextTurnButton.setText(action.text.tr())
nextTurnButton.color = if (action.text == "Next turn") Color.WHITE else Color.GRAY nextTurnButton.label.color = action.color
nextTurnButton.pack() nextTurnButton.pack()
nextTurnButton.isEnabled = !isSomethingOpen && isPlayersTurn && !waitingForAutosave nextTurnButton.isEnabled = !isSomethingOpen && isPlayersTurn && !waitingForAutosave
nextTurnButton.setPosition(stage.width - nextTurnButton.width - 10f, topBar.y - nextTurnButton.height - 10f) nextTurnButton.setPosition(stage.width - nextTurnButton.width - 10f, topBar.y - nextTurnButton.height - 10f)
@ -514,39 +514,42 @@ class WorldScreen(val viewingCiv:CivilizationInfo) : CameraStageBaseScreen() {
private fun getNextTurnAction(): NextTurnAction { private fun getNextTurnAction(): NextTurnAction {
return when { return when {
!isPlayersTurn -> NextTurnAction("Waiting for other players...") {} !isPlayersTurn -> NextTurnAction("Waiting for other players...", Color.GRAY) {}
viewingCiv.shouldGoToDueUnit() -> NextTurnAction("Next unit") { viewingCiv.shouldGoToDueUnit() ->
val nextDueUnit = viewingCiv.getNextDueUnit() NextTurnAction("Next unit", Color.LIGHT_GRAY) {
if (nextDueUnit != null) { val nextDueUnit = viewingCiv.getNextDueUnit()
mapHolder.setCenterPosition(nextDueUnit.currentTile.position, false, false) if (nextDueUnit != null) {
bottomUnitTable.selectedCity = null mapHolder.setCenterPosition(nextDueUnit.currentTile.position, false, false)
bottomUnitTable.selectedUnit = nextDueUnit bottomUnitTable.selectedCity = null
shouldUpdate = true bottomUnitTable.selectedUnit = nextDueUnit
shouldUpdate = true
}
} }
}
viewingCiv.cities.any { it.cityConstructions.currentConstruction == "" } -> viewingCiv.cities.any { it.cityConstructions.currentConstruction == "" } ->
NextTurnAction("Pick construction") { NextTurnAction("Pick construction", Color.CORAL) {
val cityWithNoProductionSet = viewingCiv.cities val cityWithNoProductionSet = viewingCiv.cities
.firstOrNull { it.cityConstructions.currentConstruction == "" } .firstOrNull { it.cityConstructions.currentConstruction == "" }
if (cityWithNoProductionSet != null) game.setScreen(CityScreen(cityWithNoProductionSet)) if (cityWithNoProductionSet != null) game.setScreen(CityScreen(cityWithNoProductionSet))
} }
viewingCiv.shouldOpenTechPicker() -> NextTurnAction("Pick a tech") { viewingCiv.shouldOpenTechPicker() ->
game.setScreen(TechPickerScreen(viewingCiv.tech.freeTechs != 0, viewingCiv)) NextTurnAction("Pick a tech", Color.SKY) {
} game.setScreen(TechPickerScreen(viewingCiv.tech.freeTechs != 0, viewingCiv))
}
viewingCiv.policies.shouldOpenPolicyPicker || (viewingCiv.policies.freePolicies > 0 && viewingCiv.policies.canAdoptPolicy()) -> viewingCiv.policies.shouldOpenPolicyPicker || (viewingCiv.policies.freePolicies > 0 && viewingCiv.policies.canAdoptPolicy()) ->
NextTurnAction("Pick a policy") { NextTurnAction("Pick a policy", Color.VIOLET) {
game.setScreen(PolicyPickerScreen(this)) game.setScreen(PolicyPickerScreen(this))
viewingCiv.policies.shouldOpenPolicyPicker = false viewingCiv.policies.shouldOpenPolicyPicker = false
} }
else -> NextTurnAction("Next turn") { else ->
game.settings.addCompletedTutorialTask("Pass a turn") NextTurnAction("Next turn", Color.WHITE) {
nextTurn() game.settings.addCompletedTutorialTask("Pass a turn")
} nextTurn()
}
} }
} }