mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 19:58:00 +00:00
update pause timing
This commit is contained in:
@@ -13,6 +13,7 @@ import forge.adventure.data.EffectData;
|
||||
import forge.adventure.data.EnemyData;
|
||||
import forge.adventure.data.ItemData;
|
||||
import forge.adventure.player.AdventurePlayer;
|
||||
import forge.adventure.stage.GameHUD;
|
||||
import forge.adventure.stage.IAfterMatch;
|
||||
import forge.adventure.util.Config;
|
||||
import forge.adventure.util.Current;
|
||||
@@ -193,6 +194,7 @@ public class DuelScene extends ForgeScene {
|
||||
|
||||
@Override
|
||||
public void enter() {
|
||||
GameHUD.getInstance().unloadAudio();
|
||||
Set<GameType> appliedVariants = new HashSet<>();
|
||||
appliedVariants.add(GameType.Constructed);
|
||||
AdventurePlayer advPlayer = Current.player();
|
||||
|
||||
@@ -280,6 +280,8 @@ public class GameHUD extends Stage {
|
||||
}
|
||||
if (!GameScene.instance().isNotInWorldMap())
|
||||
updateMusic();
|
||||
else
|
||||
SoundSystem.instance.pause();
|
||||
}
|
||||
|
||||
Texture miniMapTexture;
|
||||
@@ -306,7 +308,7 @@ public class GameHUD extends Stage {
|
||||
deckActor.setColor(menuActor.getColor());
|
||||
}
|
||||
if (GameScene.instance().isNotInWorldMap()) {
|
||||
SoundSystem.instance.pause(); //play another music source
|
||||
SoundSystem.instance.pause();
|
||||
switch (GameScene.instance().getAdventurePlayerLocation(false, false)) {
|
||||
case "capital":
|
||||
case "town":
|
||||
@@ -332,22 +334,28 @@ public class GameHUD extends Stage {
|
||||
}
|
||||
}
|
||||
private Pair<FileHandle, Music> audio = null;
|
||||
private void unloadAudio() {
|
||||
public void unloadAudio() {
|
||||
if (audio != null) {
|
||||
audio.getRight().setOnCompletionListener(null);
|
||||
audio.getRight().stop();
|
||||
Forge.getAssets().manager().unload(audio.getLeft().path());
|
||||
}
|
||||
}
|
||||
private MusicPlaylist currentAudioPlaylist = null;
|
||||
private void setAudio(MusicPlaylist playlist) {
|
||||
if (playlist.equals(currentAudioPlaylist))
|
||||
return;
|
||||
unloadAudio();
|
||||
audio = getMusic(playlist);
|
||||
}
|
||||
private Pair<FileHandle, Music> getMusic(MusicPlaylist playlist) {
|
||||
FileHandle file = Gdx.files.absolute(playlist.getNewRandomFilename());
|
||||
Music music = Forge.getAssets().getMusic(file);
|
||||
if (music != null)
|
||||
if (music != null) {
|
||||
currentAudioPlaylist = playlist;
|
||||
return Pair.of(file, music);
|
||||
}
|
||||
currentAudioPlaylist = null;
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@@ -30,7 +30,8 @@ public class AudioMusic implements IAudioMusic {
|
||||
public void pause() {
|
||||
if (music == null)
|
||||
return;
|
||||
music.pause();
|
||||
if (music.isPlaying())
|
||||
music.pause();
|
||||
}
|
||||
|
||||
public void resume() {
|
||||
|
||||
Reference in New Issue
Block a user