From 002dcd763b5caa918b2fe276f40f6f6ef12e87c4 Mon Sep 17 00:00:00 2001 From: Julien Muchembled Date: Wed, 23 Nov 2022 21:09:55 +0100 Subject: [PATCH] Fix policy counting in global politics (#8045) Counting of social policies was only correct for completed branches: 6 Incompleted branches with only 1 SP were hidden, and those with N>1 SP displayed N-1. --- .../com/unciv/logic/civilization/PolicyManager.kt | 2 +- .../overviewscreen/GlobalPoliticsOverviewTable.kt | 13 +++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/core/src/com/unciv/logic/civilization/PolicyManager.kt b/core/src/com/unciv/logic/civilization/PolicyManager.kt index 8183e96a83..18c10adae1 100644 --- a/core/src/com/unciv/logic/civilization/PolicyManager.kt +++ b/core/src/com/unciv/logic/civilization/PolicyManager.kt @@ -75,7 +75,7 @@ class PolicyManager : IsPartOfGameInfoSerialization { } /** A [Set] of all [PolicyBranch]es. */ - private val branches: Set + val branches: Set get() = civInfo.gameInfo.ruleSet.policyBranches.values.toSet() fun clone(): PolicyManager { diff --git a/core/src/com/unciv/ui/overviewscreen/GlobalPoliticsOverviewTable.kt b/core/src/com/unciv/ui/overviewscreen/GlobalPoliticsOverviewTable.kt index acd439ee54..525e5be90d 100644 --- a/core/src/com/unciv/ui/overviewscreen/GlobalPoliticsOverviewTable.kt +++ b/core/src/com/unciv/ui/overviewscreen/GlobalPoliticsOverviewTable.kt @@ -15,6 +15,7 @@ import com.unciv.logic.civilization.WonderInfo import com.unciv.logic.civilization.diplomacy.DiplomacyFlags import com.unciv.logic.civilization.diplomacy.DiplomaticStatus import com.unciv.logic.civilization.diplomacy.RelationshipLevel +import com.unciv.models.ruleset.Policy.PolicyBranchType import com.unciv.ui.images.ImageGetter import com.unciv.ui.trade.DiplomacyScreen import com.unciv.ui.utils.AutoScrollPane @@ -133,10 +134,14 @@ class GlobalPoliticsOverviewTable ( private fun getPoliciesTable(civ: CivilizationInfo): Table { val policiesTable = Table(skin) - for (policy in civ.policies.branchCompletionMap) { - if (policy.value != 0) - policiesTable.add("[${policy.key.name}]: ${policy.value}".toLabel()).row() - } + for (branch in civ.policies.branches) + if (civ.policies.isAdopted(branch.name)) { + val count = 1 + branch.policies.count { + it.policyBranchType != PolicyBranchType.BranchComplete && + civ.policies.isAdopted(it.name) + } + policiesTable.add("[${branch.name}]: ${count}".toLabel()).row() + } return policiesTable }