mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-14 01:39:40 +07:00
Cleanup of policy screen
This commit is contained in:
@ -14,16 +14,16 @@ import com.unciv.models.ruleset.Building
|
|||||||
import com.unciv.models.ruleset.IRulesetObject
|
import com.unciv.models.ruleset.IRulesetObject
|
||||||
import com.unciv.models.ruleset.unit.BaseUnit
|
import com.unciv.models.ruleset.unit.BaseUnit
|
||||||
import com.unciv.models.translations.tr
|
import com.unciv.models.translations.tr
|
||||||
import com.unciv.ui.screens.civilopediascreen.CivilopediaScreen
|
|
||||||
import com.unciv.ui.images.ImageGetter
|
|
||||||
import com.unciv.ui.popups.ConfirmPopup
|
|
||||||
import com.unciv.ui.popups.closeAllPopups
|
|
||||||
import com.unciv.ui.screens.basescreen.BaseScreen
|
|
||||||
import com.unciv.ui.components.Fonts
|
import com.unciv.ui.components.Fonts
|
||||||
import com.unciv.ui.components.extensions.darken
|
import com.unciv.ui.components.extensions.darken
|
||||||
import com.unciv.ui.components.extensions.disable
|
import com.unciv.ui.components.extensions.disable
|
||||||
import com.unciv.ui.components.extensions.onClick
|
import com.unciv.ui.components.extensions.onClick
|
||||||
import com.unciv.ui.components.extensions.toTextButton
|
import com.unciv.ui.components.extensions.toTextButton
|
||||||
|
import com.unciv.ui.images.ImageGetter
|
||||||
|
import com.unciv.ui.popups.ConfirmPopup
|
||||||
|
import com.unciv.ui.popups.closeAllPopups
|
||||||
|
import com.unciv.ui.screens.basescreen.BaseScreen
|
||||||
|
import com.unciv.ui.screens.civilopediascreen.CivilopediaScreen
|
||||||
|
|
||||||
class ConstructionInfoTable(val cityScreen: CityScreen): Table() {
|
class ConstructionInfoTable(val cityScreen: CityScreen): Table() {
|
||||||
private val selectedConstructionTable = Table()
|
private val selectedConstructionTable = Table()
|
||||||
@ -117,6 +117,7 @@ class ConstructionInfoTable(val cityScreen: CityScreen): Table() {
|
|||||||
cityScreen.update()
|
cityScreen.update()
|
||||||
}.open()
|
}.open()
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cityScreen.city.hasSoldBuildingThisTurn && !cityScreen.city.civ.gameInfo.gameParameters.godMode
|
if (cityScreen.city.hasSoldBuildingThisTurn && !cityScreen.city.civ.gameInfo.gameParameters.godMode
|
||||||
|| cityScreen.city.isPuppet
|
|| cityScreen.city.isPuppet
|
||||||
|| !GUI.isMyTurn() || !GUI.isAllowedChangeState())
|
|| !GUI.isMyTurn() || !GUI.isAllowedChangeState())
|
||||||
|
@ -8,7 +8,6 @@ import com.badlogic.gdx.scenes.scene2d.ui.Cell
|
|||||||
import com.badlogic.gdx.scenes.scene2d.ui.Image
|
import com.badlogic.gdx.scenes.scene2d.ui.Image
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.Table
|
import com.badlogic.gdx.scenes.scene2d.ui.Table
|
||||||
import com.badlogic.gdx.utils.Align
|
import com.badlogic.gdx.utils.Align
|
||||||
import com.unciv.GUI
|
|
||||||
import com.unciv.logic.civilization.Civilization
|
import com.unciv.logic.civilization.Civilization
|
||||||
import com.unciv.models.TutorialTrigger
|
import com.unciv.models.TutorialTrigger
|
||||||
import com.unciv.models.UncivSound
|
import com.unciv.models.UncivSound
|
||||||
@ -34,7 +33,6 @@ import com.unciv.ui.images.ImageGetter
|
|||||||
import com.unciv.ui.popups.ConfirmPopup
|
import com.unciv.ui.popups.ConfirmPopup
|
||||||
import com.unciv.ui.screens.basescreen.BaseScreen
|
import com.unciv.ui.screens.basescreen.BaseScreen
|
||||||
import com.unciv.ui.screens.basescreen.RecreateOnResize
|
import com.unciv.ui.screens.basescreen.RecreateOnResize
|
||||||
import com.unciv.ui.screens.worldscreen.WorldScreen
|
|
||||||
import java.lang.Integer.max
|
import java.lang.Integer.max
|
||||||
import kotlin.math.abs
|
import kotlin.math.abs
|
||||||
import kotlin.math.min
|
import kotlin.math.min
|
||||||
@ -50,8 +48,9 @@ private object PolicyColors {
|
|||||||
val branchAdopted = colorFromRGB(100, 90, 10).darken(0.5f)
|
val branchAdopted = colorFromRGB(100, 90, 10).darken(0.5f)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun Policy.isPickable(viewingCiv: Civilization) : Boolean {
|
fun Policy.isPickable(viewingCiv: Civilization, canChangeState: Boolean) : Boolean {
|
||||||
if (!viewingCiv.isCurrentPlayer()
|
if (!viewingCiv.isCurrentPlayer()
|
||||||
|
|| !canChangeState
|
||||||
|| viewingCiv.isDefeated()
|
|| viewingCiv.isDefeated()
|
||||||
|| viewingCiv.policies.isAdopted(this.name)
|
|| viewingCiv.policies.isAdopted(this.name)
|
||||||
|| this.policyBranchType == PolicyBranchType.BranchComplete
|
|| this.policyBranchType == PolicyBranchType.BranchComplete
|
||||||
@ -62,7 +61,7 @@ fun Policy.isPickable(viewingCiv: Civilization) : Boolean {
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
class PolicyButton(val viewingCiv: Civilization, val policy: Policy, size: Float = 30f) : BorderedTable(
|
class PolicyButton(viewingCiv: Civilization, canChangeState: Boolean, val policy: Policy, size: Float = 30f) : BorderedTable(
|
||||||
path = "PolicyScreen/PolicyButton",
|
path = "PolicyScreen/PolicyButton",
|
||||||
defaultBgBorder = BaseScreen.skinStrings.roundedEdgeRectangleSmallShape,
|
defaultBgBorder = BaseScreen.skinStrings.roundedEdgeRectangleSmallShape,
|
||||||
defaultBgShape = BaseScreen.skinStrings.roundedEdgeRectangleSmallShape,
|
defaultBgShape = BaseScreen.skinStrings.roundedEdgeRectangleSmallShape,
|
||||||
@ -70,6 +69,9 @@ class PolicyButton(val viewingCiv: Civilization, val policy: Policy, size: Float
|
|||||||
|
|
||||||
val icon = ImageGetter.getImage("PolicyIcons/" + policy.name)
|
val icon = ImageGetter.getImage("PolicyIcons/" + policy.name)
|
||||||
|
|
||||||
|
val isPickable = policy.isPickable(viewingCiv, canChangeState)
|
||||||
|
val isAdopted = viewingCiv.policies.isAdopted(policy.name)
|
||||||
|
|
||||||
var isSelected = false
|
var isSelected = false
|
||||||
set(value) {
|
set(value) {
|
||||||
field = value
|
field = value
|
||||||
@ -77,7 +79,6 @@ class PolicyButton(val viewingCiv: Civilization, val policy: Policy, size: Float
|
|||||||
}
|
}
|
||||||
|
|
||||||
init {
|
init {
|
||||||
|
|
||||||
borderSize = 2f
|
borderSize = 2f
|
||||||
icon.setSize(size*0.7f, size*0.7f)
|
icon.setSize(size*0.7f, size*0.7f)
|
||||||
|
|
||||||
@ -102,11 +103,7 @@ class PolicyButton(val viewingCiv: Civilization, val policy: Policy, size: Float
|
|||||||
|
|
||||||
private fun updateState() {
|
private fun updateState() {
|
||||||
|
|
||||||
val isPickable = policy.isPickable(viewingCiv)
|
|
||||||
val isAdopted = GUI.getSelectedPlayer().policies.isAdopted(policy.name)
|
|
||||||
|
|
||||||
when {
|
when {
|
||||||
|
|
||||||
isSelected && isPickable -> {
|
isSelected && isPickable -> {
|
||||||
bgColor = PolicyColors.policySelected
|
bgColor = PolicyColors.policySelected
|
||||||
}
|
}
|
||||||
@ -124,15 +121,12 @@ class PolicyButton(val viewingCiv: Civilization, val policy: Policy, size: Float
|
|||||||
icon.color.a = 0.2f
|
icon.color.a = 0.2f
|
||||||
bgColor = PolicyColors.policyNotPickable
|
bgColor = PolicyColors.policyNotPickable
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class PolicyPickerScreen(val worldScreen: WorldScreen, val viewingCiv: Civilization = worldScreen.selectedCiv)
|
class PolicyPickerScreen(val viewingCiv: Civilization, val canChangeState: Boolean)
|
||||||
: PickerScreen(), RecreateOnResize {
|
: PickerScreen(), RecreateOnResize {
|
||||||
|
|
||||||
object Sizes {
|
object Sizes {
|
||||||
@ -168,7 +162,7 @@ class PolicyPickerScreen(val worldScreen: WorldScreen, val viewingCiv: Civilizat
|
|||||||
confirmAction()
|
confirmAction()
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!worldScreen.canChangeState)
|
if (!canChangeState)
|
||||||
rightSideButton.disable()
|
rightSideButton.disable()
|
||||||
|
|
||||||
topTable.row()
|
topTable.row()
|
||||||
@ -230,7 +224,7 @@ class PolicyPickerScreen(val worldScreen: WorldScreen, val viewingCiv: Civilizat
|
|||||||
val policy = button.policy
|
val policy = button.policy
|
||||||
|
|
||||||
rightSideButton.isVisible = !viewingCiv.policies.isAdopted(policy.name)
|
rightSideButton.isVisible = !viewingCiv.policies.isAdopted(policy.name)
|
||||||
if (!policy.isPickable(viewingCiv)) {
|
if (!policy.isPickable(viewingCiv, canChangeState)) {
|
||||||
rightSideButton.disable()
|
rightSideButton.disable()
|
||||||
} else {
|
} else {
|
||||||
rightSideButton.enable()
|
rightSideButton.enable()
|
||||||
@ -540,7 +534,7 @@ class PolicyPickerScreen(val worldScreen: WorldScreen, val viewingCiv: Civilizat
|
|||||||
private fun getTopButton(branch: PolicyBranch): Table {
|
private fun getTopButton(branch: PolicyBranch): Table {
|
||||||
|
|
||||||
val text: String
|
val text: String
|
||||||
val isPickable = branch.isPickable(viewingCiv)
|
val isPickable = branch.isPickable(viewingCiv, canChangeState)
|
||||||
var isAdoptedBranch = false
|
var isAdoptedBranch = false
|
||||||
var percentage = 0f
|
var percentage = 0f
|
||||||
|
|
||||||
@ -616,18 +610,13 @@ class PolicyPickerScreen(val worldScreen: WorldScreen, val viewingCiv: Civilizat
|
|||||||
lockIcon.setPosition(table.width, table.height / 2 - lockIcon.height/2)
|
lockIcon.setPosition(table.width, table.height / 2 - lockIcon.height/2)
|
||||||
|
|
||||||
table.onClick {
|
table.onClick {
|
||||||
if (branch.isPickable(viewingCiv))
|
if (branch.isPickable(viewingCiv, canChangeState))
|
||||||
ConfirmPopup(
|
ConfirmPopup(
|
||||||
this,
|
this,
|
||||||
"Are you sure you want to adopt [${branch.name}]?",
|
"Are you sure you want to adopt [${branch.name}]?",
|
||||||
"Adopt", true, action = {
|
"Adopt", true, action = {
|
||||||
viewingCiv.policies.adopt(branch, false)
|
viewingCiv.policies.adopt(branch, false)
|
||||||
|
game.replaceCurrentScreen(recreate())
|
||||||
val policyScreen = PolicyPickerScreen(worldScreen)
|
|
||||||
policyScreen.scrollPane.scrollPercentX = scrollPane.scrollPercentX
|
|
||||||
policyScreen.scrollPane.scrollPercentY = scrollPane.scrollPercentY
|
|
||||||
policyScreen.scrollPane.updateVisualScroll()
|
|
||||||
game.replaceCurrentScreen(policyScreen)
|
|
||||||
}
|
}
|
||||||
).open(force = true)
|
).open(force = true)
|
||||||
}
|
}
|
||||||
@ -636,9 +625,9 @@ class PolicyPickerScreen(val worldScreen: WorldScreen, val viewingCiv: Civilizat
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun getPolicyButton(policy: Policy, size: Float = 30f): PolicyButton {
|
private fun getPolicyButton(policy: Policy, size: Float = 30f): PolicyButton {
|
||||||
val button = PolicyButton(viewingCiv, policy, size = size)
|
val button = PolicyButton(viewingCiv, canChangeState, policy, size = size)
|
||||||
button.onClick { pickPolicy(button = button) }
|
button.onClick { pickPolicy(button = button) }
|
||||||
if (policy.isPickable(viewingCiv))
|
if (policy.isPickable(viewingCiv, canChangeState))
|
||||||
button.onDoubleClick(UncivSound.Policy) { confirmAction() }
|
button.onDoubleClick(UncivSound.Policy) { confirmAction() }
|
||||||
return button
|
return button
|
||||||
}
|
}
|
||||||
@ -647,21 +636,21 @@ class PolicyPickerScreen(val worldScreen: WorldScreen, val viewingCiv: Civilizat
|
|||||||
val policy = selectedPolicyButton!!.policy
|
val policy = selectedPolicyButton!!.policy
|
||||||
|
|
||||||
// Evil people clicking on buttons too fast to confuse the screen - #4977
|
// Evil people clicking on buttons too fast to confuse the screen - #4977
|
||||||
if (!policy.isPickable(viewingCiv)) return
|
if (!policy.isPickable(viewingCiv, canChangeState)) return
|
||||||
|
|
||||||
viewingCiv.policies.adopt(policy)
|
viewingCiv.policies.adopt(policy)
|
||||||
|
|
||||||
// If we've moved to another screen in the meantime (great person pick, victory screen) ignore this
|
// If we've moved to another screen in the meantime (great person pick, victory screen) ignore this
|
||||||
if (game.screen !is PolicyPickerScreen) {
|
// update policies
|
||||||
game.popScreen()
|
if (game.screen !is PolicyPickerScreen) game.popScreen()
|
||||||
} else {
|
else game.replaceCurrentScreen(recreate())
|
||||||
val policyScreen = PolicyPickerScreen(worldScreen)
|
|
||||||
policyScreen.scrollPane.scrollPercentX = scrollPane.scrollPercentX
|
|
||||||
policyScreen.scrollPane.scrollPercentY = scrollPane.scrollPercentY
|
|
||||||
policyScreen.scrollPane.updateVisualScroll()
|
|
||||||
game.replaceCurrentScreen(policyScreen) // update policies
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun recreate(): BaseScreen = PolicyPickerScreen(worldScreen, viewingCiv)
|
override fun recreate(): BaseScreen {
|
||||||
|
val newScreen = PolicyPickerScreen(viewingCiv, canChangeState)
|
||||||
|
newScreen.scrollPane.scrollPercentX = scrollPane.scrollPercentX
|
||||||
|
newScreen.scrollPane.scrollPercentY = scrollPane.scrollPercentY
|
||||||
|
newScreen.scrollPane.updateVisualScroll()
|
||||||
|
return newScreen
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,12 +7,12 @@ import com.badlogic.gdx.scenes.scene2d.ui.Container
|
|||||||
import com.badlogic.gdx.scenes.scene2d.ui.Table
|
import com.badlogic.gdx.scenes.scene2d.ui.Table
|
||||||
import com.unciv.models.UncivSound
|
import com.unciv.models.UncivSound
|
||||||
import com.unciv.models.translations.tr
|
import com.unciv.models.translations.tr
|
||||||
import com.unciv.ui.screens.basescreen.BaseScreen
|
|
||||||
import com.unciv.ui.components.Fonts
|
import com.unciv.ui.components.Fonts
|
||||||
import com.unciv.ui.components.extensions.colorFromRGB
|
import com.unciv.ui.components.extensions.colorFromRGB
|
||||||
import com.unciv.ui.components.extensions.onClick
|
import com.unciv.ui.components.extensions.onClick
|
||||||
import com.unciv.ui.components.extensions.toLabel
|
import com.unciv.ui.components.extensions.toLabel
|
||||||
import com.unciv.ui.images.ImageGetter
|
import com.unciv.ui.images.ImageGetter
|
||||||
|
import com.unciv.ui.screens.basescreen.BaseScreen
|
||||||
import com.unciv.ui.screens.diplomacyscreen.DiplomacyScreen
|
import com.unciv.ui.screens.diplomacyscreen.DiplomacyScreen
|
||||||
import com.unciv.ui.screens.overviewscreen.EspionageOverviewScreen
|
import com.unciv.ui.screens.overviewscreen.EspionageOverviewScreen
|
||||||
import com.unciv.ui.screens.pickerscreens.PolicyPickerScreen
|
import com.unciv.ui.screens.pickerscreens.PolicyPickerScreen
|
||||||
@ -66,7 +66,7 @@ class TechPolicyDiplomacyButtons(val worldScreen: WorldScreen) : Table(BaseScree
|
|||||||
|
|
||||||
policyScreenButton.add(ImageGetter.getImage("PolicyIcons/Constitution")).size(30f).pad(15f)
|
policyScreenButton.add(ImageGetter.getImage("PolicyIcons/Constitution")).size(30f).pad(15f)
|
||||||
policyButtonHolder.onClick {
|
policyButtonHolder.onClick {
|
||||||
game.pushScreen(PolicyPickerScreen(worldScreen))
|
game.pushScreen(PolicyPickerScreen(worldScreen.selectedCiv, worldScreen.canChangeState))
|
||||||
}
|
}
|
||||||
|
|
||||||
diplomacyButton.add(ImageGetter.getImage("OtherIcons/DiplomacyW")).size(30f).pad(15f)
|
diplomacyButton.add(ImageGetter.getImage("OtherIcons/DiplomacyW")).size(30f).pad(15f)
|
||||||
|
@ -124,7 +124,7 @@ class WorldScreen(
|
|||||||
|
|
||||||
private val events = EventBus.EventReceiver()
|
private val events = EventBus.EventReceiver()
|
||||||
|
|
||||||
var uiEnabled = true
|
private var uiEnabled = true
|
||||||
|
|
||||||
var preActionGameInfo = gameInfo
|
var preActionGameInfo = gameInfo
|
||||||
|
|
||||||
@ -228,7 +228,7 @@ class WorldScreen(
|
|||||||
globalShortcuts.add(Input.Keys.F2) { game.pushScreen(EmpireOverviewScreen(selectedCiv, "Trades")) } // Economic info
|
globalShortcuts.add(Input.Keys.F2) { game.pushScreen(EmpireOverviewScreen(selectedCiv, "Trades")) } // Economic info
|
||||||
globalShortcuts.add(Input.Keys.F3) { game.pushScreen(EmpireOverviewScreen(selectedCiv, "Units")) } // Military info
|
globalShortcuts.add(Input.Keys.F3) { game.pushScreen(EmpireOverviewScreen(selectedCiv, "Units")) } // Military info
|
||||||
globalShortcuts.add(Input.Keys.F4) { game.pushScreen(EmpireOverviewScreen(selectedCiv, "Politics")) } // Diplomacy info
|
globalShortcuts.add(Input.Keys.F4) { game.pushScreen(EmpireOverviewScreen(selectedCiv, "Politics")) } // Diplomacy info
|
||||||
globalShortcuts.add(Input.Keys.F5) { game.pushScreen(PolicyPickerScreen(this, selectedCiv)) } // Social Policies Screen
|
globalShortcuts.add(Input.Keys.F5) { game.pushScreen(PolicyPickerScreen(selectedCiv, canChangeState)) } // Social Policies Screen
|
||||||
globalShortcuts.add(Input.Keys.F6) { game.pushScreen(TechPickerScreen(viewingCiv)) } // Tech Screen
|
globalShortcuts.add(Input.Keys.F6) { game.pushScreen(TechPickerScreen(viewingCiv)) } // Tech Screen
|
||||||
globalShortcuts.add(Input.Keys.F7) { game.pushScreen(EmpireOverviewScreen(selectedCiv, "Cities")) } // originally Notification Log
|
globalShortcuts.add(Input.Keys.F7) { game.pushScreen(EmpireOverviewScreen(selectedCiv, "Cities")) } // originally Notification Log
|
||||||
globalShortcuts.add(Input.Keys.F8) { game.pushScreen(VictoryScreen(this)) } // Victory Progress
|
globalShortcuts.add(Input.Keys.F8) { game.pushScreen(VictoryScreen(this)) } // Victory Progress
|
||||||
@ -551,7 +551,7 @@ class WorldScreen(
|
|||||||
tutorialTaskTable.pack()
|
tutorialTaskTable.pack()
|
||||||
tutorialTaskTable.centerX(stage)
|
tutorialTaskTable.centerX(stage)
|
||||||
tutorialTaskTable.y = topBar.y - tutorialTaskTable.height
|
tutorialTaskTable.y = topBar.y - tutorialTaskTable.height
|
||||||
tutorialTaskTable.onClick() {
|
tutorialTaskTable.onClick {
|
||||||
UncivGame.Current.isTutorialTaskCollapsed = !UncivGame.Current.isTutorialTaskCollapsed
|
UncivGame.Current.isTutorialTaskCollapsed = !UncivGame.Current.isTutorialTaskCollapsed
|
||||||
displayTutorialTaskOnUpdate()
|
displayTutorialTaskOnUpdate()
|
||||||
}
|
}
|
||||||
|
@ -14,14 +14,6 @@ import com.unciv.models.ruleset.tile.ResourceType
|
|||||||
import com.unciv.models.ruleset.tile.TileResource
|
import com.unciv.models.ruleset.tile.TileResource
|
||||||
import com.unciv.models.stats.Stats
|
import com.unciv.models.stats.Stats
|
||||||
import com.unciv.models.translations.tr
|
import com.unciv.models.translations.tr
|
||||||
import com.unciv.ui.screens.civilopediascreen.CivilopediaCategories
|
|
||||||
import com.unciv.ui.screens.civilopediascreen.CivilopediaScreen
|
|
||||||
import com.unciv.ui.images.ImageGetter
|
|
||||||
import com.unciv.ui.screens.overviewscreen.EmpireOverviewScreen
|
|
||||||
import com.unciv.ui.screens.pickerscreens.PolicyPickerScreen
|
|
||||||
import com.unciv.ui.screens.pickerscreens.TechPickerScreen
|
|
||||||
import com.unciv.ui.popups.popups
|
|
||||||
import com.unciv.ui.screens.basescreen.BaseScreen
|
|
||||||
import com.unciv.ui.components.Fonts
|
import com.unciv.ui.components.Fonts
|
||||||
import com.unciv.ui.components.MayaCalendar
|
import com.unciv.ui.components.MayaCalendar
|
||||||
import com.unciv.ui.components.UncivTooltip.Companion.addTooltip
|
import com.unciv.ui.components.UncivTooltip.Companion.addTooltip
|
||||||
@ -32,6 +24,14 @@ import com.unciv.ui.components.extensions.setFontColor
|
|||||||
import com.unciv.ui.components.extensions.setFontSize
|
import com.unciv.ui.components.extensions.setFontSize
|
||||||
import com.unciv.ui.components.extensions.toLabel
|
import com.unciv.ui.components.extensions.toLabel
|
||||||
import com.unciv.ui.components.extensions.toTextButton
|
import com.unciv.ui.components.extensions.toTextButton
|
||||||
|
import com.unciv.ui.images.ImageGetter
|
||||||
|
import com.unciv.ui.popups.popups
|
||||||
|
import com.unciv.ui.screens.basescreen.BaseScreen
|
||||||
|
import com.unciv.ui.screens.civilopediascreen.CivilopediaCategories
|
||||||
|
import com.unciv.ui.screens.civilopediascreen.CivilopediaScreen
|
||||||
|
import com.unciv.ui.screens.overviewscreen.EmpireOverviewScreen
|
||||||
|
import com.unciv.ui.screens.pickerscreens.PolicyPickerScreen
|
||||||
|
import com.unciv.ui.screens.pickerscreens.TechPickerScreen
|
||||||
import com.unciv.ui.screens.victoryscreen.VictoryScreen
|
import com.unciv.ui.screens.victoryscreen.VictoryScreen
|
||||||
import com.unciv.ui.screens.worldscreen.mainmenu.WorldScreenMenuPopup
|
import com.unciv.ui.screens.worldscreen.mainmenu.WorldScreenMenuPopup
|
||||||
import kotlin.math.abs
|
import kotlin.math.abs
|
||||||
@ -118,7 +118,7 @@ class WorldScreenTopBar(val worldScreen: WorldScreen) : Table() {
|
|||||||
happinessImage.onClick(invokeResourcesPage)
|
happinessImage.onClick(invokeResourcesPage)
|
||||||
happinessLabel.onClick(invokeResourcesPage)
|
happinessLabel.onClick(invokeResourcesPage)
|
||||||
|
|
||||||
addStat(cultureLabel, "Culture") { PolicyPickerScreen(worldScreen, worldScreen.selectedCiv) }
|
addStat(cultureLabel, "Culture") { PolicyPickerScreen(worldScreen.selectedCiv, worldScreen.canChangeState) }
|
||||||
if (worldScreen.gameInfo.isReligionEnabled()) {
|
if (worldScreen.gameInfo.isReligionEnabled()) {
|
||||||
addStat(faithLabel, "Faith", "Religion", isLast = true)
|
addStat(faithLabel, "Faith", "Religion", isLast = true)
|
||||||
} else {
|
} else {
|
||||||
|
@ -6,16 +6,6 @@ import com.unciv.Constants
|
|||||||
import com.unciv.logic.civilization.managers.ReligionState
|
import com.unciv.logic.civilization.managers.ReligionState
|
||||||
import com.unciv.models.ruleset.BeliefType
|
import com.unciv.models.ruleset.BeliefType
|
||||||
import com.unciv.models.translations.tr
|
import com.unciv.models.translations.tr
|
||||||
import com.unciv.ui.screens.cityscreen.CityScreen
|
|
||||||
import com.unciv.ui.images.IconTextButton
|
|
||||||
import com.unciv.ui.images.ImageGetter
|
|
||||||
import com.unciv.ui.screens.pickerscreens.DiplomaticVotePickerScreen
|
|
||||||
import com.unciv.ui.screens.pickerscreens.PantheonPickerScreen
|
|
||||||
import com.unciv.ui.screens.pickerscreens.PolicyPickerScreen
|
|
||||||
import com.unciv.ui.screens.pickerscreens.ReligiousBeliefsPickerScreen
|
|
||||||
import com.unciv.ui.screens.pickerscreens.TechPickerScreen
|
|
||||||
import com.unciv.ui.popups.ConfirmPopup
|
|
||||||
import com.unciv.ui.popups.hasOpenPopups
|
|
||||||
import com.unciv.ui.components.KeyCharAndCode
|
import com.unciv.ui.components.KeyCharAndCode
|
||||||
import com.unciv.ui.components.KeyShortcut
|
import com.unciv.ui.components.KeyShortcut
|
||||||
import com.unciv.ui.components.extensions.disable
|
import com.unciv.ui.components.extensions.disable
|
||||||
@ -24,12 +14,21 @@ import com.unciv.ui.components.extensions.isEnabled
|
|||||||
import com.unciv.ui.components.extensions.keyShortcuts
|
import com.unciv.ui.components.extensions.keyShortcuts
|
||||||
import com.unciv.ui.components.extensions.onActivation
|
import com.unciv.ui.components.extensions.onActivation
|
||||||
import com.unciv.ui.components.extensions.setSize
|
import com.unciv.ui.components.extensions.setSize
|
||||||
|
import com.unciv.ui.images.IconTextButton
|
||||||
|
import com.unciv.ui.images.ImageGetter
|
||||||
|
import com.unciv.ui.popups.ConfirmPopup
|
||||||
|
import com.unciv.ui.popups.hasOpenPopups
|
||||||
|
import com.unciv.ui.screens.cityscreen.CityScreen
|
||||||
|
import com.unciv.ui.screens.pickerscreens.DiplomaticVotePickerScreen
|
||||||
|
import com.unciv.ui.screens.pickerscreens.PantheonPickerScreen
|
||||||
|
import com.unciv.ui.screens.pickerscreens.PolicyPickerScreen
|
||||||
|
import com.unciv.ui.screens.pickerscreens.ReligiousBeliefsPickerScreen
|
||||||
|
import com.unciv.ui.screens.pickerscreens.TechPickerScreen
|
||||||
import com.unciv.ui.screens.worldscreen.WorldScreen
|
import com.unciv.ui.screens.worldscreen.WorldScreen
|
||||||
import com.unciv.utils.concurrency.Concurrency
|
import com.unciv.utils.concurrency.Concurrency
|
||||||
import com.unciv.utils.concurrency.launchOnGLThread
|
import com.unciv.utils.concurrency.launchOnGLThread
|
||||||
|
|
||||||
class NextTurnButton(
|
class NextTurnButton : IconTextButton("", null, 30) {
|
||||||
) : IconTextButton("", null, 30) {
|
|
||||||
private var nextTurnAction = NextTurnAction("", Color.BLACK) {}
|
private var nextTurnAction = NextTurnAction("", Color.BLACK) {}
|
||||||
|
|
||||||
init {
|
init {
|
||||||
@ -94,7 +93,7 @@ class NextTurnButton(
|
|||||||
worldScreen.viewingCiv.policies.shouldOpenPolicyPicker
|
worldScreen.viewingCiv.policies.shouldOpenPolicyPicker
|
||||||
|| worldScreen.viewingCiv.policies.freePolicies > 0 && worldScreen.viewingCiv.policies.canAdoptPolicy() ->
|
|| worldScreen.viewingCiv.policies.freePolicies > 0 && worldScreen.viewingCiv.policies.canAdoptPolicy() ->
|
||||||
NextTurnAction("Pick a policy", Color.VIOLET, "NotificationIcons/PickPolicy") {
|
NextTurnAction("Pick a policy", Color.VIOLET, "NotificationIcons/PickPolicy") {
|
||||||
worldScreen.game.pushScreen(PolicyPickerScreen(worldScreen))
|
worldScreen.game.pushScreen(PolicyPickerScreen(worldScreen.selectedCiv, worldScreen.canChangeState))
|
||||||
worldScreen.viewingCiv.policies.shouldOpenPolicyPicker = false
|
worldScreen.viewingCiv.policies.shouldOpenPolicyPicker = false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user