Demographics removed - resolves #8215

This commit is contained in:
Yair Morgenstern 2022-12-27 22:33:07 +02:00
parent d1cb47054c
commit c7f5a34c04
4 changed files with 2 additions and 57 deletions

View File

@ -709,7 +709,6 @@ off =
Show pixel units =
Show pixel improvements =
Enable Nuclear Weapons =
Experimental Demographics scoreboard =
Unit icon opacity =
Show zoom buttons in world screen =
Enable display cutout (requires restart) =
@ -1261,8 +1260,6 @@ Capture [cityName] =
Our status =
Global status =
Rankings =
Demographics =
Demographic =
Rank =
Value =
Best =

View File

@ -67,7 +67,6 @@ class GameSettings {
var windowState = WindowState()
var isFreshlyCreated = false
var visualMods = HashSet<String>()
var useDemographics: Boolean = false
var showZoomButtons: Boolean = false
var notificationsLogMaxTurns = 5

View File

@ -36,7 +36,6 @@ fun displayTab(
optionsPopup.addCheckbox(this, "Show resources and improvements", settings.showResourcesAndImprovements, true) { settings.showResourcesAndImprovements = it }
optionsPopup.addCheckbox(this, "Show tutorials", settings.showTutorials, true) { settings.showTutorials = it }
optionsPopup.addCheckbox(this, "Show pixel improvements", settings.showPixelImprovements, true) { settings.showPixelImprovements = it }
optionsPopup.addCheckbox(this, "Experimental Demographics scoreboard", settings.useDemographics, true) { settings.useDemographics = it }
optionsPopup.addCheckbox(this, "Show zoom buttons in world screen", settings.showZoomButtons, true) { settings.showZoomButtons = it }
addMinimapSizeSlider(this, settings, optionsPopup.selectBoxMinWidth)

View File

@ -38,7 +38,7 @@ class VictoryScreen(val worldScreen: WorldScreen) : PickerScreen() {
val setGlobalVictoryButton = "Global status".toTextButton().onClick { setGlobalVictoryTable() }
tabsTable.add(setGlobalVictoryButton)
val rankingLabel = if (UncivGame.Current.settings.useDemographics) "Demographics" else "Rankings"
val rankingLabel = "Rankings"
val setCivRankingsButton = rankingLabel.toTextButton().onClick { setCivRankingsTable() }
tabsTable.add(setCivRankingsButton)
topTable.add(tabsTable)
@ -182,59 +182,9 @@ class VictoryScreen(val worldScreen: WorldScreen) : PickerScreen() {
private fun setCivRankingsTable() {
val majorCivs = gameInfo.civilizations.filter { it.isMajorCiv() }
contentsTable.clear()
if (UncivGame.Current.settings.useDemographics) contentsTable.add(buildDemographicsTable(majorCivs))
else contentsTable.add(buildRankingsTable(majorCivs))
contentsTable.add(buildRankingsTable(majorCivs))
}
enum class RankLabels { Rank, Value, Best, Average, Worst}
private fun buildDemographicsTable(majorCivs: List<CivilizationInfo>): Table {
val demographicsTable = Table().apply { defaults().pad(5f) }
buildDemographicsHeaders(demographicsTable)
for (rankLabel in RankLabels.values()) {
demographicsTable.row()
demographicsTable.add(rankLabel.name.toLabel())
for (category in RankingType.values()) {
val aliveMajorCivsSorted = majorCivs.filter{ it.isAlive() }.sortedByDescending { it.getStatForRanking(category) }
fun addRankCivGroup(civ: CivilizationInfo) { // local function for reuse of getting and formatting civ stats
demographicsTable.add(getCivGroup(civ, ": " + civ.getStatForRanking(category).toString(), playerCivInfo)).fillX()
}
@Suppress("NON_EXHAUSTIVE_WHEN") // RankLabels.Demographic treated above
when (rankLabel) {
RankLabels.Rank -> demographicsTable.add((aliveMajorCivsSorted.indexOfFirst { it == worldScreen.viewingCiv } + 1).toLabel())
RankLabels.Value -> addRankCivGroup(worldScreen.viewingCiv)
RankLabels.Best -> addRankCivGroup(aliveMajorCivsSorted.firstOrNull()!!)
RankLabels.Average -> demographicsTable.add((aliveMajorCivsSorted.sumOf { it.getStatForRanking(category) } / aliveMajorCivsSorted.size).toLabel())
RankLabels.Worst -> addRankCivGroup(aliveMajorCivsSorted.lastOrNull()!!)
}
}
}
return demographicsTable
}
private fun buildDemographicsHeaders(demographicsTable: Table) {
val demoLabel = Table().apply { defaults().pad(5f) }
demoLabel.add("Demographic".toLabel()).row()
demoLabel.addSeparator().fillX()
demographicsTable.add(demoLabel)
for (category in RankingType.values()) {
val headers = Table().apply { defaults().pad(5f) }
val textAndIcon = Table().apply { defaults() }
val columnImage = category.getImage()
if (columnImage != null) textAndIcon.add(columnImage).center().size(Constants.defaultFontSize.toFloat() * 0.75f).padRight(2f).padTop(-2f)
textAndIcon.add(category.name.replace('_', ' ').toLabel()).row()
headers.add(textAndIcon)
headers.addSeparator()
demographicsTable.add(headers)
}
}
private fun buildRankingsTable(majorCivs: List<CivilizationInfo>): Table {
val rankingsTable = Table().apply { defaults().pad(5f) }