mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-27 22:06:05 -04:00
Display tile yields (#3322)
* Show tile yields functionality (WIP) * Toggle yields (WIP) * Show Yields (WIP) * Show tile yields WIP * showTileYields (WIP) * tidying code * Display tile yields (WIP) * Show tile yields (WIP) * Update CityTileGroup.kt
This commit is contained in:
parent
e6882e8223
commit
0e5b2f0db0
@ -9,6 +9,7 @@ data class WindowState (val width:Int=0, val height:Int=0)
|
||||
class GameSettings {
|
||||
var showWorkedTiles: Boolean = false
|
||||
var showResourcesAndImprovements: Boolean = true
|
||||
var showTileYields: Boolean = true // JN
|
||||
var checkForDueUnits: Boolean = true
|
||||
var singleTapMove: Boolean = false
|
||||
var language: String = "English"
|
||||
|
@ -26,7 +26,7 @@ class CityTileGroup(private val city: CityInfo, tileInfo: TileInfo, tileSetStrin
|
||||
}
|
||||
|
||||
fun update() {
|
||||
super.update(city.civInfo, true)
|
||||
super.update(city.civInfo, true, false)
|
||||
|
||||
// this needs to happen on update, because we can buy tiles, which changes the definition of the bought tiles...
|
||||
when {
|
||||
|
@ -13,6 +13,7 @@ import com.unciv.logic.civilization.CivilizationInfo
|
||||
import com.unciv.logic.map.RoadStatus
|
||||
import com.unciv.logic.map.TileInfo
|
||||
import com.unciv.models.ruleset.unit.UnitType
|
||||
import com.unciv.ui.cityscreen.YieldGroup
|
||||
import com.unciv.ui.utils.ImageGetter
|
||||
import com.unciv.ui.utils.center
|
||||
import com.unciv.ui.utils.centerX
|
||||
@ -75,6 +76,8 @@ open class TileGroup(var tileInfo: TileInfo, var tileSetStrings:TileSetStrings)
|
||||
}
|
||||
val miscLayerGroup = MiscLayerGroupClass().apply { isTransform = false; setSize(groupSize, groupSize) }
|
||||
|
||||
var tileYieldGroup = YieldGroup() // JN
|
||||
|
||||
var resourceImage: Actor? = null
|
||||
var resource: String? = null
|
||||
private val roadImages = HashMap<TileInfo, RoadImage>()
|
||||
@ -336,7 +339,7 @@ open class TileGroup(var tileInfo: TileInfo, var tileSetStrings:TileSetStrings)
|
||||
|| viewingCiv.exploredTiles.contains(tileInfo.position)
|
||||
|| viewingCiv.isSpectator()
|
||||
|
||||
open fun update(viewingCiv: CivilizationInfo? = null, showResourcesAndImprovements: Boolean = true) {
|
||||
open fun update(viewingCiv: CivilizationInfo? = null, showResourcesAndImprovements: Boolean = true, showTileYields: Boolean = true) {
|
||||
|
||||
fun clearUnexploredTiles() {
|
||||
updateTileImage(null)
|
||||
@ -347,7 +350,7 @@ open class TileGroup(var tileInfo: TileInfo, var tileSetStrings:TileSetStrings)
|
||||
|
||||
if (borderImages.isNotEmpty()) clearBorders()
|
||||
|
||||
icons.update(false, false, false, null)
|
||||
icons.update(false,false ,false, false, null)
|
||||
|
||||
fogImage.isVisible = true
|
||||
}
|
||||
@ -372,7 +375,7 @@ open class TileGroup(var tileInfo: TileInfo, var tileSetStrings:TileSetStrings)
|
||||
updatePixelMilitaryUnit(tileIsViewable && showMilitaryUnit)
|
||||
updatePixelCivilianUnit(tileIsViewable)
|
||||
|
||||
icons.update(showResourcesAndImprovements, tileIsViewable, showMilitaryUnit,viewingCiv)
|
||||
icons.update(showResourcesAndImprovements,showTileYields, tileIsViewable, showMilitaryUnit,viewingCiv)
|
||||
|
||||
updateCityImage()
|
||||
updateNaturalWonderImage()
|
||||
|
@ -8,10 +8,7 @@ import com.badlogic.gdx.utils.Align
|
||||
import com.unciv.UncivGame
|
||||
import com.unciv.logic.civilization.CivilizationInfo
|
||||
import com.unciv.logic.map.MapUnit
|
||||
import com.unciv.ui.utils.ImageGetter
|
||||
import com.unciv.ui.utils.UnitGroup
|
||||
import com.unciv.ui.utils.center
|
||||
import com.unciv.ui.utils.toLabel
|
||||
import com.unciv.ui.utils.*
|
||||
|
||||
/** Helper class for TileGroup, which was getting too full */
|
||||
class TileGroupIcons(val tileGroup: TileGroup){
|
||||
@ -22,10 +19,12 @@ class TileGroupIcons(val tileGroup: TileGroup){
|
||||
var civilianUnitIcon: UnitGroup? = null
|
||||
var militaryUnitIcon: UnitGroup? = null
|
||||
|
||||
fun update(showResourcesAndImprovements: Boolean, tileIsViewable: Boolean, showMilitaryUnit: Boolean, viewingCiv:CivilizationInfo?) {
|
||||
fun update(showResourcesAndImprovements: Boolean, showTileYields: Boolean, tileIsViewable: Boolean, showMilitaryUnit: Boolean, viewingCiv:CivilizationInfo?) {
|
||||
updateResourceIcon(showResourcesAndImprovements)
|
||||
updateImprovementIcon(showResourcesAndImprovements)
|
||||
|
||||
updateYieldIcon(showTileYields) // JN
|
||||
|
||||
civilianUnitIcon = newUnitIcon(tileGroup.tileInfo.civilianUnit, civilianUnitIcon,
|
||||
tileIsViewable, -20f, viewingCiv)
|
||||
militaryUnitIcon = newUnitIcon(tileGroup.tileInfo.militaryUnit, militaryUnitIcon,
|
||||
@ -117,6 +116,29 @@ class TileGroupIcons(val tileGroup: TileGroup){
|
||||
}
|
||||
}
|
||||
|
||||
// JN updating display of tile yields
|
||||
private fun updateYieldIcon(showTileYields: Boolean) {
|
||||
|
||||
// Hiding yield icons (in order to update)
|
||||
tileGroup.tileYieldGroup.isVisible = false
|
||||
|
||||
|
||||
if (showTileYields) {
|
||||
// Setting up YieldGroup Icon
|
||||
tileGroup.tileYieldGroup.setStats(tileGroup.tileInfo.getTileStats(CivilizationInfo()))
|
||||
tileGroup.tileYieldGroup.setOrigin(Align.center)
|
||||
tileGroup.tileYieldGroup.setScale(0.7f)
|
||||
tileGroup.tileYieldGroup.toFront()
|
||||
tileGroup.tileYieldGroup.centerX(tileGroup)
|
||||
tileGroup.tileYieldGroup.y = tileGroup.height * 0.25f - tileGroup.tileYieldGroup.height / 2
|
||||
tileGroup.tileYieldGroup.isVisible = true
|
||||
|
||||
// Adding YieldGroup to miscLayerGroup
|
||||
tileGroup.miscLayerGroup.addActor(tileGroup.tileYieldGroup)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
fun updateResourceIcon(showResourcesAndImprovements: Boolean) {
|
||||
if (tileGroup.resource != tileGroup.tileInfo.resource) {
|
||||
tileGroup.resource = tileGroup.tileInfo.resource
|
||||
|
@ -38,7 +38,7 @@ class WorldTileGroup(internal val worldScreen: WorldScreen, tileInfo: TileInfo,
|
||||
// remove city buttons in unexplored tiles during spectating/fog of war
|
||||
updateCityButton(null, showEntireMap)
|
||||
|
||||
super.update(viewingCiv, UncivGame.Current.settings.showResourcesAndImprovements)
|
||||
super.update(viewingCiv, UncivGame.Current.settings.showResourcesAndImprovements, UncivGame.Current.settings.showTileYields)
|
||||
}
|
||||
|
||||
|
||||
|
@ -83,9 +83,8 @@ class OptionsPopup(val previousScreen:CameraStageBaseScreen) : Popup(previousScr
|
||||
addHeader("Display options")
|
||||
|
||||
addYesNoRow ("Show worked tiles", settings.showWorkedTiles, true) { settings.showWorkedTiles = it }
|
||||
addYesNoRow ("Show resources and improvements", settings.showResourcesAndImprovements, true) {
|
||||
settings.showResourcesAndImprovements = it
|
||||
}
|
||||
addYesNoRow ("Show resources and improvements", settings.showResourcesAndImprovements, true) { settings.showResourcesAndImprovements = it }
|
||||
addYesNoRow ("Show tile yields", settings.showTileYields, true) { settings.showTileYields = it } // JN
|
||||
addYesNoRow ("Show tutorials", settings.showTutorials, true) {settings.showTutorials = it }
|
||||
addYesNoRow ("Show minimap", settings.showMinimap, true) { settings.showMinimap = it }
|
||||
addYesNoRow ("Show pixel units", settings.showPixelUnits, true) { settings.showPixelUnits = it }
|
||||
|
Loading…
x
Reference in New Issue
Block a user