From 64c98a27ea3feb5c5f1ea7dabed082c714debeec Mon Sep 17 00:00:00 2001 From: YueR Date: Wed, 18 Sep 2019 17:45:59 +0800 Subject: [PATCH] update --- core/src/com/unciv/ui/VictoryScreen.kt | 23 ++++++++++++++----- .../ui/pickerscreens/PolicyPickerScreen.kt | 4 ++-- .../com/unciv/ui/pickerscreens/TechButton.kt | 16 +++++++------ .../ui/pickerscreens/TechPickerScreen.kt | 2 +- core/src/com/unciv/ui/utils/ImageGetter.kt | 13 ++++++++++- 5 files changed, 41 insertions(+), 17 deletions(-) diff --git a/core/src/com/unciv/ui/VictoryScreen.kt b/core/src/com/unciv/ui/VictoryScreen.kt index 38e0557d00..f83a2cf52a 100644 --- a/core/src/com/unciv/ui/VictoryScreen.kt +++ b/core/src/com/unciv/ui/VictoryScreen.kt @@ -1,6 +1,7 @@ package com.unciv.ui import com.badlogic.gdx.graphics.Color +import com.badlogic.gdx.scenes.scene2d.Touchable import com.badlogic.gdx.scenes.scene2d.ui.Table import com.badlogic.gdx.scenes.scene2d.ui.TextButton import com.unciv.UnCivGame @@ -10,10 +11,10 @@ import com.unciv.models.gamebasics.VictoryType import com.unciv.models.gamebasics.tr import com.unciv.ui.newgamescreen.NewGameScreen import com.unciv.ui.pickerscreens.PickerScreen -import com.unciv.ui.utils.addSeparator -import com.unciv.ui.utils.enable -import com.unciv.ui.utils.onClick -import com.unciv.ui.utils.toLabel +import com.unciv.ui.pickerscreens.PolicyPickerScreen +import com.unciv.ui.pickerscreens.TechPickerScreen +import com.unciv.ui.utils.* +import com.unciv.ui.worldscreen.WorldScreen class VictoryScreen : PickerScreen() { @@ -199,7 +200,12 @@ class VictoryScreen : PickerScreen() { .sortedByDescending { it.branchesCompleted } for (entry in civsToBranchesCompleted) { - policyVictoryColumn.add(EmpireOverviewScreen.getCivGroup(entry.civ, " - " + entry.branchesCompleted, playerCivInfo)).row() + val civToBranchesHaveCompleted=EmpireOverviewScreen.getCivGroup(entry.civ, " - " + entry.branchesCompleted, playerCivInfo) + policyVictoryColumn.add(civToBranchesHaveCompleted).row() + civToBranchesHaveCompleted.touchable= Touchable.enabled + civToBranchesHaveCompleted.onClick { + game.screen = PolicyPickerScreen(UnCivGame.Current.worldScreen,entry.civ) + } } return policyVictoryColumn } @@ -217,7 +223,12 @@ class VictoryScreen : PickerScreen() { } for (entry in civsToPartsRemaining) { - scientificVictoryColumn.add(EmpireOverviewScreen.getCivGroup(entry.civ, " - " + entry.partsRemaining, playerCivInfo)).row() + val civToPartsBeRemaining=(EmpireOverviewScreen.getCivGroup(entry.civ, " - " + entry.partsRemaining, playerCivInfo)) + scientificVictoryColumn.add(civToPartsBeRemaining).row() + civToPartsBeRemaining.touchable= Touchable.enabled + civToPartsBeRemaining.onClick { + game.screen = TechPickerScreen(entry.civ) + } } return scientificVictoryColumn } diff --git a/core/src/com/unciv/ui/pickerscreens/PolicyPickerScreen.kt b/core/src/com/unciv/ui/pickerscreens/PolicyPickerScreen.kt index 1c9727f7b4..dc7a473fd5 100644 --- a/core/src/com/unciv/ui/pickerscreens/PolicyPickerScreen.kt +++ b/core/src/com/unciv/ui/pickerscreens/PolicyPickerScreen.kt @@ -13,8 +13,8 @@ import com.unciv.ui.utils.* import com.unciv.ui.worldscreen.WorldScreen -class PolicyPickerScreen(val worldScreen: WorldScreen) : PickerScreen() { - internal val viewingCiv: CivilizationInfo = worldScreen.viewingCiv +class PolicyPickerScreen(val worldScreen: WorldScreen,civInfo: CivilizationInfo=worldScreen.viewingCiv) : PickerScreen() { + internal val viewingCiv: CivilizationInfo = civInfo private var pickedPolicy: Policy? = null init { diff --git a/core/src/com/unciv/ui/pickerscreens/TechButton.kt b/core/src/com/unciv/ui/pickerscreens/TechButton.kt index e3a26b672b..55793aadcb 100644 --- a/core/src/com/unciv/ui/pickerscreens/TechButton.kt +++ b/core/src/com/unciv/ui/pickerscreens/TechButton.kt @@ -7,12 +7,10 @@ import com.badlogic.gdx.scenes.scene2d.ui.Table import com.badlogic.gdx.utils.Align import com.unciv.logic.civilization.TechManager import com.unciv.models.gamebasics.GameBasics -import com.unciv.ui.utils.CameraStageBaseScreen -import com.unciv.ui.utils.ImageGetter -import com.unciv.ui.utils.setFontColor -import com.unciv.ui.utils.surroundWithCircle +import com.unciv.ui.utils.* +import com.unciv.ui.worldscreen.WorldScreen -class TechButton(techName:String, val techManager: TechManager) : Table(CameraStageBaseScreen.skin) { +class TechButton(techName:String, val techManager: TechManager, isWorldScreen:Boolean=true) : Table(CameraStageBaseScreen.skin) { val text= Label("", skin).setFontColor(Color.WHITE).apply { setAlignment(Align.center) } init { touchable = Touchable.enabled @@ -28,7 +26,10 @@ class TechButton(techName:String, val techManager: TechManager) : Table(CameraSt val percentComplete = (techCost-remainingTech)/techCost.toFloat() add(ImageGetter.getProgressBarVertical(2f, 50f, percentComplete, Color.BLUE, Color.WHITE)) } - rightSide.add(text).row() + else add().width(2f) + + if (isWorldScreen) rightSide.add(text).row() + else rightSide.add(text).height(25f).row() // here we add little images of what the tech gives you val techEnabledIcons = Table() @@ -66,7 +67,8 @@ class TechButton(techName:String, val techManager: TechManager) : Table(CameraSt techEnabledIcons.add(ImageGetter.getImage("OtherIcons/Star") .apply { color= Color.BLACK }.surroundWithCircle(30f)) - rightSide.add(techEnabledIcons) + if (isWorldScreen) rightSide.add(techEnabledIcons) + else rightSide.add(techEnabledIcons).width(150f) add(rightSide) pack() diff --git a/core/src/com/unciv/ui/pickerscreens/TechPickerScreen.kt b/core/src/com/unciv/ui/pickerscreens/TechPickerScreen.kt index 9e7091a8d8..79abba5cfb 100644 --- a/core/src/com/unciv/ui/pickerscreens/TechPickerScreen.kt +++ b/core/src/com/unciv/ui/pickerscreens/TechPickerScreen.kt @@ -69,7 +69,7 @@ class TechPickerScreen(internal val civInfo: CivilizationInfo, centerOnTech: Tec topTable.add() // empty cell else { - val techButton = TechButton(tech.name,civTech) + val techButton = TechButton(tech.name,civTech,false) techNameToButton[tech.name] = techButton techButton.onClick { selectTechnology(tech) } diff --git a/core/src/com/unciv/ui/utils/ImageGetter.kt b/core/src/com/unciv/ui/utils/ImageGetter.kt index 499123e5c5..85a9e55ea7 100644 --- a/core/src/com/unciv/ui/utils/ImageGetter.kt +++ b/core/src/com/unciv/ui/utils/ImageGetter.kt @@ -185,7 +185,18 @@ object ImageGetter { } fun getTechIconGroup(techName: String): Group { - return getImage("TechIcons/$techName").surroundWithCircle(60f) + var COLOR= Color.WHITE + when(GameBasics.Technologies[techName]!!.era().name){ + "Ancient"-> COLOR= Color.FIREBRICK + "Classical"-> COLOR= Color.VIOLET + "Medieval"-> COLOR= Color.TAN + "Renaissance"-> COLOR= Color.BROWN + "Industrial"-> COLOR= Color.CHARTREUSE + "Modern"-> COLOR= Color.GOLD + "Information"-> COLOR= Color.CORAL + "Future"-> COLOR= Color.CYAN + } + return getImage("TechIcons/$techName").surroundWithCircle(60f).apply { this.circle.color= COLOR } } fun getProgressBarVertical(width:Float,height:Float,percentComplete:Float,progressColor:Color,backgroundColor:Color): Table {