diff --git a/core/src/com/unciv/ui/screens/worldscreen/unit/UnitTable.kt b/core/src/com/unciv/ui/screens/worldscreen/unit/UnitTable.kt index 5bf7bbb835..df7a95c4a2 100644 --- a/core/src/com/unciv/ui/screens/worldscreen/unit/UnitTable.kt +++ b/core/src/com/unciv/ui/screens/worldscreen/unit/UnitTable.kt @@ -167,6 +167,8 @@ class UnitTable(val worldScreen: WorldScreen) : Table() { fun update() { closeButton.isVisible = true + + if (!presenter.shouldBeShown()) summaryPresenter presenter.update() // more efficient to do this check once for both @@ -275,5 +277,6 @@ class UnitTable(val worldScreen: WorldScreen) : Table() { fun update() {} /** only called when [UnitTable.shouldUpdate] is true */ fun updateWhenNeeded() {} + fun shouldBeShown(): Boolean { return true} } } diff --git a/core/src/com/unciv/ui/screens/worldscreen/unit/presenter/SpyPresenter.kt b/core/src/com/unciv/ui/screens/worldscreen/unit/presenter/SpyPresenter.kt index 75e7d20368..49e08db9d4 100644 --- a/core/src/com/unciv/ui/screens/worldscreen/unit/presenter/SpyPresenter.kt +++ b/core/src/com/unciv/ui/screens/worldscreen/unit/presenter/SpyPresenter.kt @@ -17,6 +17,8 @@ class SpyPresenter(private val unitTable: UnitTable) : UnitTable.Presenter { selectedSpy = spy } + override fun shouldBeShown(): Boolean = selectedSpy != null + override fun updateWhenNeeded() = with(unitTable) { val spy = selectedSpy!! unitNameLabel.clearListeners()