mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-19 04:10:22 +07:00
Fix intended Longpress-to-move on Android not working (#9962)
This commit is contained in:
@ -98,14 +98,13 @@ fun Actor.onRightClick(sound: UncivSound = UncivSound.Click, action: ActivationA
|
|||||||
* A [sound] will be played (concurrently) on activation unless you specify [UncivSound.Silent].
|
* A [sound] will be played (concurrently) on activation unless you specify [UncivSound.Silent].
|
||||||
* @return `this` to allow chaining
|
* @return `this` to allow chaining
|
||||||
*/
|
*/
|
||||||
@Suppress("unused") // Just in case - for now, only onRightClick is used
|
@Suppress("unused") // Just in case - for now, the Longpress in WorldMapHolder is using onActivation directly
|
||||||
fun Actor.onLongPress(sound: UncivSound = UncivSound.Click, action: ActivationAction): Actor =
|
fun Actor.onLongPress(sound: UncivSound = UncivSound.Click, action: ActivationAction): Actor =
|
||||||
onActivation(ActivationTypes.Longpress, sound, noEquivalence = true, action)
|
onActivation(ActivationTypes.Longpress, sound, noEquivalence = true, action)
|
||||||
|
|
||||||
/** Clears activation actions for a specific [type], and, if [noEquivalence] is `true`,
|
/** Clears activation actions for a specific [type], and, if [noEquivalence] is `true`,
|
||||||
* its [equivalent][ActivationTypes.isEquivalent] types.
|
* its [equivalent][ActivationTypes.isEquivalent] types.
|
||||||
*/
|
*/
|
||||||
@Suppress("unused") // Just in case - for now, it's automatic clear via clearListener
|
|
||||||
fun Actor.clearActivationActions(type: ActivationTypes, noEquivalence: Boolean = true) {
|
fun Actor.clearActivationActions(type: ActivationTypes, noEquivalence: Boolean = true) {
|
||||||
ActorAttachments.get(this).clearActivationActions(type, noEquivalence)
|
ActorAttachments.get(this).clearActivationActions(type, noEquivalence)
|
||||||
}
|
}
|
||||||
|
@ -39,11 +39,11 @@ import com.unciv.ui.components.extensions.colorFromRGB
|
|||||||
import com.unciv.ui.components.extensions.darken
|
import com.unciv.ui.components.extensions.darken
|
||||||
import com.unciv.ui.components.extensions.surroundWithCircle
|
import com.unciv.ui.components.extensions.surroundWithCircle
|
||||||
import com.unciv.ui.components.extensions.toLabel
|
import com.unciv.ui.components.extensions.toLabel
|
||||||
|
import com.unciv.ui.components.input.ActivationTypes
|
||||||
import com.unciv.ui.components.input.KeyCharAndCode
|
import com.unciv.ui.components.input.KeyCharAndCode
|
||||||
import com.unciv.ui.components.input.keyShortcuts
|
import com.unciv.ui.components.input.keyShortcuts
|
||||||
import com.unciv.ui.components.input.onActivation
|
import com.unciv.ui.components.input.onActivation
|
||||||
import com.unciv.ui.components.input.onClick
|
import com.unciv.ui.components.input.onClick
|
||||||
import com.unciv.ui.components.input.onRightClick
|
|
||||||
import com.unciv.ui.components.tilegroups.TileGroup
|
import com.unciv.ui.components.tilegroups.TileGroup
|
||||||
import com.unciv.ui.components.tilegroups.TileGroupMap
|
import com.unciv.ui.components.tilegroups.TileGroupMap
|
||||||
import com.unciv.ui.components.tilegroups.TileSetStrings
|
import com.unciv.ui.components.tilegroups.TileSetStrings
|
||||||
@ -124,14 +124,15 @@ class WorldMapHolder(
|
|||||||
}
|
}
|
||||||
tileGroup.onClick { onTileClicked(tileGroup.tile) }
|
tileGroup.onClick { onTileClicked(tileGroup.tile) }
|
||||||
|
|
||||||
// On 'droid two-finger tap is mapped to right click and dissent has been expressed
|
// Right mouse click on desktop / Longpress on Android, and no equivalence mapping between those two,
|
||||||
if (Gdx.app.type == Application.ApplicationType.Android)
|
// because on 'droid two-finger tap is mapped to right click and dissent has been expressed
|
||||||
continue
|
tileGroup.onActivation(
|
||||||
|
type = if (Gdx.app.type == Application.ApplicationType.Android)
|
||||||
// Right mouse click listener
|
ActivationTypes.Longpress else ActivationTypes.RightClick,
|
||||||
tileGroup.onRightClick {
|
noEquivalence = true
|
||||||
|
) {
|
||||||
val unit = worldScreen.bottomUnitTable.selectedUnit
|
val unit = worldScreen.bottomUnitTable.selectedUnit
|
||||||
?: return@onRightClick
|
?: return@onActivation
|
||||||
Concurrency.run("WorldScreenClick") {
|
Concurrency.run("WorldScreenClick") {
|
||||||
onTileRightClicked(unit, tileGroup.tile)
|
onTileRightClicked(unit, tileGroup.tile)
|
||||||
}
|
}
|
||||||
@ -798,8 +799,7 @@ class WorldMapHolder(
|
|||||||
unitActionOverlays.clear()
|
unitActionOverlays.clear()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun reloadMaxZoom()
|
override fun reloadMaxZoom() {
|
||||||
{
|
|
||||||
val maxWorldZoomOut = UncivGame.Current.settings.maxWorldZoomOut
|
val maxWorldZoomOut = UncivGame.Current.settings.maxWorldZoomOut
|
||||||
val mapRadius = tileMap.mapParameters.mapSize.radius
|
val mapRadius = tileMap.mapParameters.mapSize.radius
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user