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