mirror of
https://github.com/yairm210/Unciv.git
synced 2025-08-04 09:09:21 +07:00
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:
@ -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()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user