mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-20 20:59:18 +07:00
Fixed resource display bug in tile table in multiplayer
This commit is contained in:
@ -33,7 +33,7 @@ allprojects {
|
|||||||
version = '1.0.1'
|
version = '1.0.1'
|
||||||
ext {
|
ext {
|
||||||
appName = "Unciv"
|
appName = "Unciv"
|
||||||
appCodeNumber = 415
|
appCodeNumber = 416
|
||||||
appVersion = "3.8.0"
|
appVersion = "3.8.0"
|
||||||
|
|
||||||
gdxVersion = '1.9.10'
|
gdxVersion = '1.9.10'
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
package com.unciv
|
package com.unciv
|
||||||
|
|
||||||
|
import com.badlogic.gdx.Gdx
|
||||||
import com.badlogic.gdx.graphics.Color
|
import com.badlogic.gdx.graphics.Color
|
||||||
import com.badlogic.gdx.scenes.scene2d.Touchable
|
import com.badlogic.gdx.scenes.scene2d.Touchable
|
||||||
|
import com.badlogic.gdx.scenes.scene2d.actions.Actions
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.Image
|
import com.badlogic.gdx.scenes.scene2d.ui.Image
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.ScrollPane
|
import com.badlogic.gdx.scenes.scene2d.ui.ScrollPane
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.Table
|
import com.badlogic.gdx.scenes.scene2d.ui.Table
|
||||||
@ -9,18 +11,29 @@ import com.badlogic.gdx.scenes.scene2d.utils.TiledDrawable
|
|||||||
import com.badlogic.gdx.utils.Align
|
import com.badlogic.gdx.utils.Align
|
||||||
import com.unciv.logic.GameSaver
|
import com.unciv.logic.GameSaver
|
||||||
import com.unciv.logic.GameStarter
|
import com.unciv.logic.GameStarter
|
||||||
|
import com.unciv.logic.map.MapGenerator
|
||||||
import com.unciv.logic.map.MapParameters
|
import com.unciv.logic.map.MapParameters
|
||||||
|
import com.unciv.logic.map.MapSize
|
||||||
|
import com.unciv.logic.map.MapType
|
||||||
import com.unciv.models.metadata.GameParameters
|
import com.unciv.models.metadata.GameParameters
|
||||||
|
import com.unciv.models.ruleset.RulesetCache
|
||||||
import com.unciv.models.translations.tr
|
import com.unciv.models.translations.tr
|
||||||
import com.unciv.ui.MultiplayerScreen
|
import com.unciv.ui.MultiplayerScreen
|
||||||
|
import com.unciv.ui.map.TileGroupMap
|
||||||
|
import com.unciv.ui.mapeditor.EditorMapHolder
|
||||||
import com.unciv.ui.mapeditor.LoadMapScreen
|
import com.unciv.ui.mapeditor.LoadMapScreen
|
||||||
|
import com.unciv.ui.mapeditor.MapEditorScreen
|
||||||
import com.unciv.ui.mapeditor.NewMapScreen
|
import com.unciv.ui.mapeditor.NewMapScreen
|
||||||
import com.unciv.ui.newgamescreen.NewGameScreen
|
import com.unciv.ui.newgamescreen.NewGameScreen
|
||||||
import com.unciv.ui.saves.LoadGameScreen
|
import com.unciv.ui.saves.LoadGameScreen
|
||||||
import com.unciv.ui.utils.*
|
import com.unciv.ui.utils.*
|
||||||
|
import com.unciv.ui.worldscreen.WorldMapHolder
|
||||||
|
import kotlin.concurrent.thread
|
||||||
|
import kotlin.concurrent.timer
|
||||||
|
|
||||||
class MenuScreen: CameraStageBaseScreen() {
|
class MenuScreen: CameraStageBaseScreen() {
|
||||||
val autosave = "Autosave"
|
val autosave = "Autosave"
|
||||||
|
val backgroundTable = Table().apply { background=ImageGetter.getBackground(Color.WHITE) }
|
||||||
|
|
||||||
private fun getTableBlock(text: String, icon: String, function: () -> Unit): Table {
|
private fun getTableBlock(text: String, icon: String, function: () -> Unit): Table {
|
||||||
val table = Table().pad(30f)
|
val table = Table().pad(30f)
|
||||||
@ -34,14 +47,32 @@ class MenuScreen: CameraStageBaseScreen() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
init {
|
init {
|
||||||
val backgroundWhite = ImageGetter.getWhiteDot()
|
stage.addActor(backgroundTable)
|
||||||
backgroundWhite.setFillParent(true)
|
backgroundTable.center(stage)
|
||||||
stage.addActor(backgroundWhite)
|
|
||||||
val drawable = ImageGetter.getDrawable("OtherIcons/RepeatingBackground")
|
thread(name="ShowMapBackground") {
|
||||||
val tiledDrawable = TiledDrawable(drawable)
|
val newMap = MapGenerator(RulesetCache.getBaseRuleset())
|
||||||
val backgroundImage = Image(tiledDrawable).apply { color = Color.WHITE.cpy().apply { a=0.5f } }
|
.generateMap(MapParameters().apply { size = MapSize.Small; type=MapType.default })
|
||||||
backgroundImage.setFillParent(true)
|
Gdx.app.postRunnable { // for GL context
|
||||||
stage.addActor(backgroundImage)
|
val mapHolder = EditorMapHolder(MapEditorScreen(), newMap)
|
||||||
|
backgroundTable.addAction(Actions.sequence(
|
||||||
|
Actions.fadeOut(0f),
|
||||||
|
Actions.run {
|
||||||
|
mapHolder.apply {
|
||||||
|
addTiles(30f)
|
||||||
|
touchable = Touchable.disabled
|
||||||
|
setScale(1f)
|
||||||
|
center(this@MenuScreen.stage)
|
||||||
|
layout()
|
||||||
|
}
|
||||||
|
backgroundTable.add(mapHolder).size(stage.width, stage.height)
|
||||||
|
},
|
||||||
|
Actions.fadeIn(0.3f)
|
||||||
|
))
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
val table = Table().apply { defaults().pad(10f) }
|
val table = Table().apply { defaults().pad(10f) }
|
||||||
val autosaveGame = GameSaver.getSave(autosave, false)
|
val autosaveGame = GameSaver.getSave(autosave, false)
|
||||||
|
@ -338,7 +338,7 @@ open class TileInfo {
|
|||||||
}
|
}
|
||||||
lineList += baseTerrain.tr()
|
lineList += baseTerrain.tr()
|
||||||
if (terrainFeature != null) lineList += terrainFeature!!.tr()
|
if (terrainFeature != null) lineList += terrainFeature!!.tr()
|
||||||
if (hasViewableResource(tileMap.gameInfo.getCurrentPlayerCivilization())) lineList += resource!!.tr()
|
if (viewingCiv==null || hasViewableResource(viewingCiv)) lineList += resource!!.tr()
|
||||||
if (naturalWonder != null) lineList += naturalWonder!!.tr()
|
if (naturalWonder != null) lineList += naturalWonder!!.tr()
|
||||||
if (roadStatus !== RoadStatus.None && !isCityCenter()) lineList += roadStatus.toString().tr()
|
if (roadStatus !== RoadStatus.None && !isCityCenter()) lineList += roadStatus.toString().tr()
|
||||||
if (improvement != null) lineList += improvement!!.tr()
|
if (improvement != null) lineList += improvement!!.tr()
|
||||||
|
@ -14,13 +14,13 @@ class EditorMapHolder(internal val mapEditorScreen: MapEditorScreen, internal va
|
|||||||
val tileGroups = HashMap<TileInfo, TileGroup>()
|
val tileGroups = HashMap<TileInfo, TileGroup>()
|
||||||
lateinit var tileGroupMap: TileGroupMap<TileGroup>
|
lateinit var tileGroupMap: TileGroupMap<TileGroup>
|
||||||
|
|
||||||
internal fun addTiles() {
|
internal fun addTiles(padding:Float) {
|
||||||
|
|
||||||
val tileSetStrings = TileSetStrings()
|
val tileSetStrings = TileSetStrings()
|
||||||
for (tileGroup in tileMap.values.map { TileGroup(it, tileSetStrings) })
|
for (tileGroup in tileMap.values.map { TileGroup(it, tileSetStrings) })
|
||||||
tileGroups[tileGroup.tileInfo] = tileGroup
|
tileGroups[tileGroup.tileInfo] = tileGroup
|
||||||
|
|
||||||
tileGroupMap = TileGroupMap(tileGroups.values, mapEditorScreen.stage.width)
|
tileGroupMap = TileGroupMap(tileGroups.values, padding)
|
||||||
actor = tileGroupMap
|
actor = tileGroupMap
|
||||||
|
|
||||||
for (tileGroup in tileGroups.values) {
|
for (tileGroup in tileGroups.values) {
|
||||||
|
@ -48,7 +48,7 @@ class MapEditorScreen(): CameraStageBaseScreen() {
|
|||||||
tileMap.setTransients(ruleset)
|
tileMap.setTransients(ruleset)
|
||||||
|
|
||||||
mapHolder = EditorMapHolder(this, tileMap)
|
mapHolder = EditorMapHolder(this, tileMap)
|
||||||
mapHolder.addTiles()
|
mapHolder.addTiles(stage.width)
|
||||||
stage.addActor(mapHolder)
|
stage.addActor(mapHolder)
|
||||||
stage.scrollFocus = mapHolder
|
stage.scrollFocus = mapHolder
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ class TileInfoTable(private val viewingCiv :CivilizationInfo) : Table(CameraStag
|
|||||||
internal fun updateTileTable(tile: TileInfo?) {
|
internal fun updateTileTable(tile: TileInfo?) {
|
||||||
clearChildren()
|
clearChildren()
|
||||||
|
|
||||||
if ((tile != null) && (UncivGame.Current.viewEntireMapForDebug || viewingCiv.exploredTiles.contains(tile.position))) {
|
if (tile != null && (UncivGame.Current.viewEntireMapForDebug || viewingCiv.exploredTiles.contains(tile.position)) ) {
|
||||||
add(getStatsTable(tile))
|
add(getStatsTable(tile))
|
||||||
add(tile.toString(viewingCiv).toLabel()).colspan(2).pad(10f)
|
add(tile.toString(viewingCiv).toLabel()).colspan(2).pad(10f)
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user