City stats fixes

- Translation fixes - #6131
- Stats button never hidden by "we love the king day"
This commit is contained in:
Yair Morgenstern 2022-12-22 23:14:19 +02:00
parent 20b63da334
commit ccb5bb205f
3 changed files with 12 additions and 20 deletions

View File

@ -82,12 +82,6 @@ class CityScreen(
}
}
private val detailedStatsButton = "Stats".toTextButton().apply {
labelCell.pad(10f)
onActivation {
DetailedStatsPopup(this@CityScreen).open()
}
}
/** Holds City tiles group*/
private var tileGroups = ArrayList<CityTileGroup>()
@ -134,7 +128,6 @@ class CityScreen(
stage.addActor(tileTable)
stage.addActor(cityPickerTable) // add late so it's top in Z-order and doesn't get covered in cramped portrait
stage.addActor(exitCityButton)
stage.addActor(detailedStatsButton)
update()
globalShortcuts.add(Input.Keys.LEFT) { page(-1) }
@ -181,8 +174,6 @@ class CityScreen(
cityStatsTable.update(statsHeight)
cityStatsTable.setPosition(stage.width - posFromEdge, stage.height - posFromEdge, Align.topRight)
detailedStatsButton.setPosition(cityStatsTable.x - detailedStatsButton.width, stage.height - 20f, Align.top)
// Top center: Annex/Raze button
updateAnnexAndRazeCityButton()

View File

@ -2,9 +2,7 @@ package com.unciv.ui.cityscreen
import com.badlogic.gdx.graphics.Color
import com.badlogic.gdx.scenes.scene2d.Actor
import com.badlogic.gdx.scenes.scene2d.Touchable
import com.badlogic.gdx.scenes.scene2d.ui.Cell
import com.badlogic.gdx.scenes.scene2d.ui.Image
import com.badlogic.gdx.scenes.scene2d.ui.Label
import com.badlogic.gdx.scenes.scene2d.ui.Table
import com.badlogic.gdx.utils.Align
@ -13,14 +11,11 @@ import com.unciv.UncivGame
import com.unciv.logic.city.CityFlags
import com.unciv.logic.city.CityFocus
import com.unciv.logic.city.CityInfo
import com.unciv.logic.city.CityStats
import com.unciv.logic.city.StatTreeNode
import com.unciv.models.ruleset.Building
import com.unciv.models.ruleset.unique.UniqueType
import com.unciv.models.stats.Stat
import com.unciv.models.translations.tr
import com.unciv.ui.civilopedia.CivilopediaScreen
import com.unciv.ui.images.IconCircleGroup
import com.unciv.ui.images.ImageGetter
import com.unciv.ui.utils.BaseScreen
import com.unciv.ui.utils.ExpanderTab
@ -28,15 +23,13 @@ import com.unciv.ui.utils.Fonts
import com.unciv.ui.utils.extensions.addSeparator
import com.unciv.ui.utils.extensions.center
import com.unciv.ui.utils.extensions.colorFromRGB
import com.unciv.ui.utils.extensions.onActivation
import com.unciv.ui.utils.extensions.onClick
import com.unciv.ui.utils.extensions.setSize
import com.unciv.ui.utils.extensions.surroundWithCircle
import com.unciv.ui.utils.extensions.toGroup
import com.unciv.ui.utils.extensions.toLabel
import java.text.DecimalFormat
import com.unciv.ui.utils.extensions.toTextButton
import kotlin.math.ceil
import kotlin.math.max
import kotlin.math.min
import kotlin.math.round
import com.unciv.ui.utils.AutoScrollPane as ScrollPane
@ -48,6 +41,13 @@ class CityStatsTable(val cityScreen: CityScreen): Table() {
private val cityInfo = cityScreen.city
private val lowerCell: Cell<ScrollPane>
private val detailedStatsButton = "Stats".toTextButton().apply {
labelCell.pad(10f)
onActivation {
DetailedStatsPopup(cityScreen).open()
}
}
init {
pad(2f)
background = BaseScreen.skinStrings.getUiBackground(
@ -105,6 +105,7 @@ class CityStatsTable(val cityScreen: CityScreen): Table() {
upperTable.add(miniStatsTable)
upperTable.addSeparator()
upperTable.add(detailedStatsButton).row()
addText()
// begin lowerTable

View File

@ -69,7 +69,7 @@ class DetailedStatsPopup(val cityScreen: CityScreen, stageToShowOn: Stage) : Pop
update() }).minWidth(150f).grow()
for (stat in stats) {
val label = (stat.character + " " + stat.name).toLabel()
val label = stat.name.toLabel()
label.onClick {
onlyWithStat = if (onlyWithStat == null) stat else null
update()
@ -80,7 +80,7 @@ class DetailedStatsPopup(val cityScreen: CityScreen, stageToShowOn: Stage) : Pop
totalTable.row()
totalTable.addSeparator().padBottom(2f)
totalTable.add("Base stats".toLabel().apply { setAlignment(Align.center) })
totalTable.add("Base value".toLabel().apply { setAlignment(Align.center) })
.colspan(totalTable.columns).padLeft(0f).padRight(0f).growX().row()
totalTable.addSeparator().padTop(2f)
traverseTree(totalTable, stats, cityStats.baseStatTree, mergeHappiness = true, percentage = false)