mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 12:48:00 +00:00
Fix Android Music, Add flip_card sfx
- fix secondary music not playing on Android (let assetmanager unload them on exit) - fix MapDialog audio bgm fade - add Flip sfx on RewardActor flip and transform setstate effect
This commit is contained in:
@@ -201,7 +201,7 @@ public class DuelScene extends ForgeScene {
|
||||
|
||||
@Override
|
||||
public void enter() {
|
||||
GameHUD.getInstance().unloadAudio();
|
||||
GameHUD.getInstance().stopAudio();
|
||||
Set<GameType> appliedVariants = new HashSet<>();
|
||||
appliedVariants.add(GameType.Constructed);
|
||||
AdventurePlayer advPlayer = Current.player();
|
||||
|
||||
@@ -309,24 +309,9 @@ public class GameHUD extends Stage {
|
||||
}
|
||||
if (GameScene.instance().isNotInWorldMap()) {
|
||||
SoundSystem.instance.pause();
|
||||
switch (GameScene.instance().getAdventurePlayerLocation(false, false)) {
|
||||
case "capital":
|
||||
case "town":
|
||||
setAudio(MusicPlaylist.TOWN);
|
||||
break;
|
||||
case "dungeon":
|
||||
case "cave":
|
||||
setAudio(MusicPlaylist.CAVE);
|
||||
break;
|
||||
case "castle":
|
||||
setAudio(MusicPlaylist.CASTLE);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
playAudio();
|
||||
} else {
|
||||
unloadAudio();
|
||||
stopAudio();
|
||||
SoundSystem.instance.resume(); // resume World BGM
|
||||
}
|
||||
}
|
||||
@@ -334,17 +319,35 @@ public class GameHUD extends Stage {
|
||||
private Pair<FileHandle, Music> audio = null;
|
||||
|
||||
public void playAudio() {
|
||||
switch (GameScene.instance().getAdventurePlayerLocation(false, false)) {
|
||||
case "capital":
|
||||
case "town":
|
||||
setAudio(MusicPlaylist.TOWN);
|
||||
break;
|
||||
case "dungeon":
|
||||
case "cave":
|
||||
setAudio(MusicPlaylist.CAVE);
|
||||
break;
|
||||
case "castle":
|
||||
setAudio(MusicPlaylist.CASTLE);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
if (audio != null) {
|
||||
audio.getRight().setLooping(true);
|
||||
audio.getRight().play();
|
||||
}
|
||||
}
|
||||
|
||||
public void unloadAudio() {
|
||||
public void fadeAudio(float v) {
|
||||
if (audio != null) {
|
||||
audio.getRight().setVolume(v);
|
||||
}
|
||||
}
|
||||
|
||||
public void stopAudio() {
|
||||
if (audio != null) {
|
||||
audio.getRight().setOnCompletionListener(null);
|
||||
audio.getRight().stop();
|
||||
Forge.getAssets().manager().unload(audio.getLeft().path());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -353,7 +356,7 @@ public class GameHUD extends Stage {
|
||||
private void setAudio(MusicPlaylist playlist) {
|
||||
if (playlist.equals(currentAudioPlaylist))
|
||||
return;
|
||||
unloadAudio();
|
||||
stopAudio();
|
||||
audio = getMusic(playlist);
|
||||
}
|
||||
|
||||
@@ -363,9 +366,10 @@ public class GameHUD extends Stage {
|
||||
if (music != null) {
|
||||
currentAudioPlaylist = playlist;
|
||||
return Pair.of(file, music);
|
||||
} else {
|
||||
currentAudioPlaylist = null;
|
||||
return null;
|
||||
}
|
||||
currentAudioPlaylist = null;
|
||||
return null;
|
||||
}
|
||||
|
||||
private void openDeck() {
|
||||
|
||||
@@ -15,11 +15,11 @@ import forge.Forge;
|
||||
import forge.adventure.character.EnemySprite;
|
||||
import forge.adventure.data.DialogData;
|
||||
import forge.adventure.player.AdventurePlayer;
|
||||
import forge.adventure.stage.GameHUD;
|
||||
import forge.adventure.stage.MapStage;
|
||||
import forge.card.ColorSet;
|
||||
import forge.localinstance.properties.ForgePreferences;
|
||||
import forge.model.FModel;
|
||||
import forge.sound.SoundSystem;
|
||||
import forge.util.Localizer;
|
||||
import org.apache.commons.lang3.tuple.Pair;
|
||||
|
||||
@@ -196,7 +196,7 @@ public class MapDialog {
|
||||
fade += 0.1f;
|
||||
if (fade > 1f)
|
||||
fade = 1f;
|
||||
SoundSystem.instance.fadeModifier(fade);
|
||||
GameHUD.getInstance().fadeAudio(fade);
|
||||
}
|
||||
}, delay);
|
||||
}
|
||||
@@ -211,7 +211,7 @@ public class MapDialog {
|
||||
fade -= 0.1f;
|
||||
if (fade < 0.1f)
|
||||
fade = 0.1f;
|
||||
SoundSystem.instance.fadeModifier(fade);
|
||||
GameHUD.getInstance().fadeAudio(fade);
|
||||
}
|
||||
}, delay);
|
||||
}
|
||||
|
||||
@@ -41,6 +41,8 @@ import forge.card.CardRenderer;
|
||||
import forge.game.card.CardView;
|
||||
import forge.gui.GuiBase;
|
||||
import forge.item.PaperCard;
|
||||
import forge.sound.SoundEffectType;
|
||||
import forge.sound.SoundSystem;
|
||||
import forge.util.ImageFetcher;
|
||||
import forge.util.ImageUtil;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@@ -593,6 +595,7 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb
|
||||
return;
|
||||
clicked = true;
|
||||
flipProcess = 0;
|
||||
SoundSystem.instance.play(SoundEffectType.FlipCard, false);
|
||||
}
|
||||
|
||||
public void sold() {
|
||||
|
||||
Reference in New Issue
Block a user