From 3edc95dd3eb2ab774935ea82f815f86ca433484a Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Mon, 17 Dec 2018 14:46:01 +0200 Subject: [PATCH] Added whoosh sound when telling units to move --- Credits.md | 13 +++++++------ android/assets/sounds/whoosh.mp3 | Bin 0 -> 4632 bytes .../com/unciv/ui/utils/CameraStageBaseScreen.kt | 2 +- .../com/unciv/ui/worldscreen/TileMapHolder.kt | 3 ++- 4 files changed, 10 insertions(+), 8 deletions(-) create mode 100644 android/assets/sounds/whoosh.mp3 diff --git a/Credits.md b/Credits.md index dcbd8ab4db..e02f105906 100644 --- a/Credits.md +++ b/Credits.md @@ -394,10 +394,11 @@ All the following are from [the Noun Project](https://thenounproject.com) licenc Sounds are from FreeSound.org and are either Creative Commons or Public Domain -* [Click 01_Minimal UI Sounds](https://freesound.org/people/cabled_mess/sounds/370962/) By cabled_mess for most clicks -* [Pencil1](https://freesound.org/people/stijn/sounds/43673/) By stijn for opening and closing the tech picker +* [Click 01_Minimal UI Sounds](https://freesound.org/people/cabled_mess/sounds/370962/) By cabled_mess as 'click' for most clicks +* [Pencil1](https://freesound.org/people/stijn/sounds/43673/) By stijn as 'paper' for opening and closing the tech picker * [SawInOut01](https://freesound.org/people/kingof_thelab/sounds/340243/) By kingof_thelab for construction picking? -* [Chain Snare #1](https://freesound.org/people/lovesbody/sounds/322079/) By lovesbody for Fortify -* [Level up](https://freesound.org/people/Marregheriti/sounds/266100/) By Marregheriti for Promote action -* [levelup](https://freesound.org/people/Seidhepriest/sounds/382915/) By Seidhepriest for special actions (free tech, build city, hhurry wonder etc. -* [Coin](https://freesound.org/people/TheDJoe93/sounds/97373/) By TheDJoe93 for purchasing tiles and constructions \ No newline at end of file +* [Chain Snare #1](https://freesound.org/people/lovesbody/sounds/322079/) By lovesbody as 'fortify' +* [Level up](https://freesound.org/people/Marregheriti/sounds/266100/) By Marregheriti as 'promote' for Promote action and upgrading units +* [levelup](https://freesound.org/people/Seidhepriest/sounds/382915/) By Seidhepriest as 'chimes' for special actions (free tech, build city, hurry wonder etc.) +* [Coin](https://freesound.org/people/TheDJoe93/sounds/97373/) By TheDJoe93 as 'coin' for purchasing tiles and constructions +* [fast simple chop 1](https://freesound.org/people/dave.des/sounds/127196/) By dave.dev as 'whoosh' for moving units around \ No newline at end of file diff --git a/android/assets/sounds/whoosh.mp3 b/android/assets/sounds/whoosh.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..8aa16a65bfb02efefd39904bd4bc142713327239 GIT binary patch literal 4632 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 literal 0 HcmV?d00001 diff --git a/core/src/com/unciv/ui/utils/CameraStageBaseScreen.kt b/core/src/com/unciv/ui/utils/CameraStageBaseScreen.kt index 29501ec721..470edb32e7 100644 --- a/core/src/com/unciv/ui/utils/CameraStageBaseScreen.kt +++ b/core/src/com/unciv/ui/utils/CameraStageBaseScreen.kt @@ -129,7 +129,7 @@ fun Label.setFontSize(size:Int): Label { fun Actor.onClick(sound:String,function: () -> Unit){ this.addListener(object : ClickListener() { override fun clicked(event: InputEvent?, x: Float, y: Float) { - Sounds.play(sound) + if(sound!="") Sounds.play(sound) function() } } ) diff --git a/core/src/com/unciv/ui/worldscreen/TileMapHolder.kt b/core/src/com/unciv/ui/worldscreen/TileMapHolder.kt index 74ec188477..e409199bea 100644 --- a/core/src/com/unciv/ui/worldscreen/TileMapHolder.kt +++ b/core/src/com/unciv/ui/worldscreen/TileMapHolder.kt @@ -140,7 +140,7 @@ class TileMapHolder(internal val worldScreen: WorldScreen, internal val tileMap: moveHereButton.addActor(unitIcon) if (dto.unit.currentMovement > 0) - moveHereButton.onClick { + moveHereButton.onClick("") { // this can take a long time, because of the unit-to-tile calculation needed, so we put it in a different thread kotlin.concurrent.thread { if (dto.unit.movementAlgs().canReach(dto.tileInfo)) { @@ -151,6 +151,7 @@ class TileMapHolder(internal val worldScreen: WorldScreen, internal val tileMap: // I can't think of any way to avoid this, // but it's so rare and edge-case-y that ignoring its failure is actually acceptable, hence the empty catch dto.unit.movementAlgs().headTowards(dto.tileInfo) + Sounds.play("whoosh") if (dto.unit.currentTile != dto.tileInfo) dto.unit.action = "moveTo " + dto.tileInfo.position.x.toInt() + "," + dto.tileInfo.position.y.toInt() }