EmpireOverview: A little color on the Stats page (#2419)

* EmpireOverview: A little color on the Stats page

* EmpireOverview: Align numbers on the Stats page
This commit is contained in:
SomeTroglodyte 2020-04-15 22:17:03 +02:00 committed by GitHub
parent ed9fcc3ec1
commit fcc14ab093
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -143,17 +143,20 @@ class EmpireOverviewScreen(private val viewingPlayer:CivilizationInfo) : CameraS
private fun getHappinessTable(): Table { private fun getHappinessTable(): Table {
val happinessTable = Table(skin) val happinessTable = Table(skin)
happinessTable.defaults().pad(5f) happinessTable.defaults().pad(5f)
happinessTable.add("Happiness".toLabel(fontSize = 24)).colspan(2).row() val happinessHeader = Table(skin)
happinessHeader.add(ImageGetter.getStatIcon("Happiness")).pad(5f,0f,5f,12f).size(20f)
happinessHeader.add("Happiness".toLabel(fontSize = 24)).padTop(5f)
happinessTable.add(happinessHeader).colspan(2).row()
happinessTable.addSeparator() happinessTable.addSeparator()
val happinessBreakdown = viewingPlayer.stats().getHappinessBreakdown() val happinessBreakdown = viewingPlayer.stats().getHappinessBreakdown()
for (entry in happinessBreakdown.filterNot { it.value.roundToInt()==0 }) { for (entry in happinessBreakdown.filterNot { it.value.roundToInt()==0 }) {
happinessTable.add(entry.key.tr()) happinessTable.add(entry.key.tr())
happinessTable.add(entry.value.roundToInt().toString()).row() happinessTable.add(entry.value.roundToInt().toString()).right().row()
} }
happinessTable.add("Total".tr()) happinessTable.add("Total".tr())
happinessTable.add(happinessBreakdown.values.sum().roundToInt().toString()) happinessTable.add(happinessBreakdown.values.sum().roundToInt().toString()).right()
happinessTable.pack() happinessTable.pack()
return happinessTable return happinessTable
} }
@ -161,17 +164,20 @@ class EmpireOverviewScreen(private val viewingPlayer:CivilizationInfo) : CameraS
private fun getGoldTable(): Table { private fun getGoldTable(): Table {
val goldTable = Table(skin) val goldTable = Table(skin)
goldTable.defaults().pad(5f) goldTable.defaults().pad(5f)
goldTable.add("Gold".toLabel(fontSize = 24)).colspan(2).row() val goldHeader = Table(skin)
goldHeader.add(ImageGetter.getStatIcon("Gold")).pad(5f,0f,5f,12f).size(20f)
goldHeader.add("Gold".toLabel(fontSize = 24)).padTop(5f)
goldTable.add(goldHeader).colspan(2).row()
goldTable.addSeparator() goldTable.addSeparator()
var total=0f var total=0f
for (entry in viewingPlayer.stats().getStatMapForNextTurn()) { for (entry in viewingPlayer.stats().getStatMapForNextTurn()) {
if(entry.value.gold==0f) continue if(entry.value.gold==0f) continue
goldTable.add(entry.key.tr()) goldTable.add(entry.key.tr())
goldTable.add(entry.value.gold.roundToInt().toString()).row() goldTable.add(entry.value.gold.roundToInt().toString()).right().row()
total += entry.value.gold total += entry.value.gold
} }
goldTable.add("Total".tr()) goldTable.add("Total".tr())
goldTable.add(total.roundToInt().toString()) goldTable.add(total.roundToInt().toString()).right()
goldTable.pack() goldTable.pack()
return goldTable return goldTable
} }
@ -180,16 +186,19 @@ class EmpireOverviewScreen(private val viewingPlayer:CivilizationInfo) : CameraS
private fun getScienceTable(): Table { private fun getScienceTable(): Table {
val scienceTable = Table(skin) val scienceTable = Table(skin)
scienceTable.defaults().pad(5f) scienceTable.defaults().pad(5f)
scienceTable.add("Science".toLabel(fontSize = 24)).colspan(2).row() val scienceHeader = Table(skin)
scienceHeader.add(ImageGetter.getStatIcon("Science")).pad(5f,0f,5f,12f).size(20f)
scienceHeader.add("Science".toLabel(fontSize = 24)).padTop(5f)
scienceTable.add(scienceHeader).colspan(2).row()
scienceTable.addSeparator() scienceTable.addSeparator()
val scienceStats = viewingPlayer.stats().getStatMapForNextTurn() val scienceStats = viewingPlayer.stats().getStatMapForNextTurn()
.filter { it.value.science!=0f } .filter { it.value.science!=0f }
for (entry in scienceStats) { for (entry in scienceStats) {
scienceTable.add(entry.key.tr()) scienceTable.add(entry.key.tr())
scienceTable.add(entry.value.science.roundToInt().toString()).row() scienceTable.add(entry.value.science.roundToInt().toString()).right().row()
} }
scienceTable.add("Total".tr()) scienceTable.add("Total".tr())
scienceTable.add(scienceStats.values.map { it.science }.sum().roundToInt().toString()) scienceTable.add(scienceStats.values.map { it.science }.sum().roundToInt().toString()).right()
scienceTable.pack() scienceTable.pack()
return scienceTable return scienceTable
} }
@ -203,7 +212,12 @@ class EmpireOverviewScreen(private val viewingPlayer:CivilizationInfo) : CameraS
val pointsToGreatPerson = viewingPlayer.greatPeople.pointsForNextGreatPerson val pointsToGreatPerson = viewingPlayer.greatPeople.pointsForNextGreatPerson
greatPeopleTable.defaults().pad(5f) greatPeopleTable.defaults().pad(5f)
greatPeopleTable.add("Great person points".toLabel(fontSize = 24)).colspan(3).row() val greatPeopleHeader = Table(skin)
val greatPeopleIcon = ImageGetter.getStatIcon("Specialist")
greatPeopleIcon.color = Color.ROYAL
greatPeopleHeader.add(greatPeopleIcon).padRight(12f).size(30f)
greatPeopleHeader.add("Great person points".toLabel(fontSize = 24)).padTop(5f)
greatPeopleTable.add(greatPeopleHeader).colspan(3).row()
greatPeopleTable.addSeparator() greatPeopleTable.addSeparator()
greatPeopleTable.add() greatPeopleTable.add()
greatPeopleTable.add("Current points".tr()) greatPeopleTable.add("Current points".tr())