Attacking of any sort prevents udo of unit move

This commit is contained in:
Yair Morgenstern
2023-02-20 11:54:32 +02:00
parent 985867ed95
commit 2ae6017f48
2 changed files with 7 additions and 6 deletions

View File

@ -32,7 +32,6 @@ import com.unciv.models.helpers.MapArrowType
import com.unciv.models.helpers.MiscArrowTypes
import com.unciv.models.ruleset.unique.UniqueType
import com.unciv.ui.audio.SoundPlayer
import com.unciv.ui.screens.basescreen.BaseScreen
import com.unciv.ui.components.KeyCharAndCode
import com.unciv.ui.components.UnitGroup
import com.unciv.ui.components.ZoomableScrollPane
@ -49,6 +48,7 @@ import com.unciv.ui.components.tilegroups.TileGroupMap
import com.unciv.ui.components.tilegroups.TileSetStrings
import com.unciv.ui.components.tilegroups.WorldTileGroup
import com.unciv.ui.images.ImageGetter
import com.unciv.ui.screens.basescreen.BaseScreen
import com.unciv.ui.screens.basescreen.UncivStage
import com.unciv.utils.Log
import com.unciv.utils.concurrency.Concurrency
@ -271,7 +271,8 @@ class WorldMapHolder(
selectedUnit.action = null // remove explore on manual move
SoundPlayer.play(UncivSound.Whoosh)
if (selectedUnit.currentTile != targetTile)
selectedUnit.action = "moveTo " + targetTile.position.x.toInt() + "," + targetTile.position.y.toInt()
selectedUnit.action =
"moveTo ${targetTile.position.x.toInt()},${targetTile.position.y.toInt()}"
if (selectedUnit.currentMovement > 0) worldScreen.bottomUnitTable.selectUnit(selectedUnit)
worldScreen.shouldUpdate = true
@ -279,8 +280,7 @@ class WorldMapHolder(
moveUnitToTargetTile(selectedUnits.subList(1, selectedUnits.size), targetTile)
} else removeUnitActionOverlay() //we're done here
if (UncivGame.Current.settings.autoUnitCycle &&
selectedUnit.currentMovement == 0f)
if (UncivGame.Current.settings.autoUnitCycle && selectedUnit.currentMovement == 0f)
worldScreen.switchToNextUnit()
} catch (ex: Exception) {

View File

@ -18,8 +18,6 @@ import com.unciv.models.UncivSound
import com.unciv.models.ruleset.unique.UniqueType
import com.unciv.models.translations.tr
import com.unciv.ui.audio.SoundPlayer
import com.unciv.ui.images.ImageGetter
import com.unciv.ui.screens.basescreen.BaseScreen
import com.unciv.ui.components.Fonts
import com.unciv.ui.components.UnitGroup
import com.unciv.ui.components.extensions.addBorderAllowOpacity
@ -28,6 +26,8 @@ import com.unciv.ui.components.extensions.disable
import com.unciv.ui.components.extensions.onClick
import com.unciv.ui.components.extensions.toLabel
import com.unciv.ui.components.extensions.toTextButton
import com.unciv.ui.images.ImageGetter
import com.unciv.ui.screens.basescreen.BaseScreen
import com.unciv.ui.screens.worldscreen.WorldScreen
import com.unciv.ui.screens.worldscreen.bottombar.BattleTableHelpers.flashWoundedCombatants
import com.unciv.ui.screens.worldscreen.bottombar.BattleTableHelpers.getHealthBar
@ -300,6 +300,7 @@ class BattleTable(val worldScreen: WorldScreen): Table() {
// There was a direct worldScreen.update() call here, removing its 'private' but not the comment justifying the modifier.
// My tests (desktop only) show the red-flash animations look just fine without.
worldScreen.shouldUpdate = true
worldScreen.preActionGameInfo = worldScreen.gameInfo // Reset - can no longer undo
//Gdx.graphics.requestRendering() // Use this if immediate rendering is required
if (!canStillAttack) return