mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-26 13:27:22 -04:00
More shortcuts (#7171)
* Add shortcut 'Tab' to perform unit movement * When no unit is selected, use 'Z' as a shortcut to select next unit
This commit is contained in:
parent
71160b2e63
commit
d6b41c56ff
@ -58,6 +58,7 @@ data class KeyCharAndCode(val char: Char, val code: Int) {
|
||||
val NUMPAD_ENTER = KeyCharAndCode(Input.Keys.NUMPAD_ENTER)
|
||||
val SPACE = KeyCharAndCode(Input.Keys.SPACE)
|
||||
val DEL = KeyCharAndCode(Input.Keys.FORWARD_DEL) // Gdx "DEL" is just plain wrong!
|
||||
val TAB = KeyCharAndCode(Input.Keys.TAB)
|
||||
/** Guaranteed to be ignored by [KeyShortcutDispatcher] and never to be generated for an actual event, used as fallback to ensure no action is taken */
|
||||
val UNKNOWN = KeyCharAndCode(Input.Keys.UNKNOWN)
|
||||
|
||||
|
@ -37,11 +37,14 @@ import com.unciv.ui.map.TileGroupMap
|
||||
import com.unciv.ui.tilegroups.TileGroup
|
||||
import com.unciv.ui.tilegroups.TileSetStrings
|
||||
import com.unciv.ui.tilegroups.WorldTileGroup
|
||||
import com.unciv.ui.utils.KeyCharAndCode
|
||||
import com.unciv.ui.utils.UnitGroup
|
||||
import com.unciv.ui.utils.ZoomableScrollPane
|
||||
import com.unciv.ui.utils.extensions.center
|
||||
import com.unciv.ui.utils.extensions.colorFromRGB
|
||||
import com.unciv.ui.utils.extensions.darken
|
||||
import com.unciv.ui.utils.extensions.keyShortcuts
|
||||
import com.unciv.ui.utils.extensions.onActivation
|
||||
import com.unciv.ui.utils.extensions.onClick
|
||||
import com.unciv.ui.utils.extensions.surroundWithCircle
|
||||
import com.unciv.ui.utils.extensions.toLabel
|
||||
@ -454,12 +457,13 @@ class WorldMapHolder(
|
||||
val unitsThatCanMove = dto.unitToTurnsToDestination.keys.filter { it.currentMovement > 0 }
|
||||
if (unitsThatCanMove.isEmpty()) moveHereButton.color.a = 0.5f
|
||||
else {
|
||||
moveHereButton.onClick(UncivSound.Silent) {
|
||||
moveHereButton.onActivation(UncivSound.Silent) {
|
||||
UncivGame.Current.settings.addCompletedTutorialTask("Move unit")
|
||||
if (unitsThatCanMove.any { it.baseUnit.movesLikeAirUnits() })
|
||||
UncivGame.Current.settings.addCompletedTutorialTask("Move an air unit")
|
||||
moveUnitToTargetTile(unitsThatCanMove, dto.tileInfo)
|
||||
}
|
||||
moveHereButton.keyShortcuts.add(KeyCharAndCode.TAB)
|
||||
}
|
||||
return moveHereButton
|
||||
}
|
||||
@ -475,12 +479,13 @@ class WorldMapHolder(
|
||||
unitIcon.y = buttonSize - unitIcon.height
|
||||
swapWithButton.addActor(unitIcon)
|
||||
|
||||
swapWithButton.onClick(UncivSound.Silent) {
|
||||
swapWithButton.onActivation(UncivSound.Silent) {
|
||||
UncivGame.Current.settings.addCompletedTutorialTask("Move unit")
|
||||
if (dto.unit.baseUnit.movesLikeAirUnits())
|
||||
UncivGame.Current.settings.addCompletedTutorialTask("Move an air unit")
|
||||
swapMoveUnitToTargetTile(dto.unit, dto.tileInfo)
|
||||
}
|
||||
swapWithButton.keyShortcuts.add(KeyCharAndCode.TAB)
|
||||
|
||||
return swapWithButton
|
||||
}
|
||||
|
@ -6,6 +6,7 @@ import com.badlogic.gdx.scenes.scene2d.ui.TextButton
|
||||
import com.unciv.models.translations.tr
|
||||
import com.unciv.ui.utils.BaseScreen
|
||||
import com.unciv.ui.utils.KeyCharAndCode
|
||||
import com.unciv.ui.utils.KeyShortcut
|
||||
import com.unciv.ui.utils.extensions.isEnabled
|
||||
import com.unciv.ui.utils.extensions.keyShortcuts
|
||||
import com.unciv.ui.utils.extensions.onActivation
|
||||
@ -21,6 +22,8 @@ class NextTurnButton(
|
||||
onActivation { nextTurnAction.action() }
|
||||
keyShortcuts.add(Input.Keys.SPACE)
|
||||
keyShortcuts.add('n')
|
||||
// Let unit actions override this for command "Wait".
|
||||
keyShortcuts.add(KeyShortcut(KeyCharAndCode('z'), -100))
|
||||
}
|
||||
|
||||
fun update(isSomethingOpen: Boolean,
|
||||
|
Loading…
x
Reference in New Issue
Block a user