From b20101e641c2918aef5b4f492b303b6cae820acc Mon Sep 17 00:00:00 2001 From: lodici Date: Sat, 2 Jan 2016 21:52:08 +0000 Subject: [PATCH] Play gameplay sound directly from MagicSound instance. --- src/magic/data/SoundEffects.java | 8 -------- src/magic/model/phase/MagicCombatDamagePhase.java | 3 +-- src/magic/model/phase/MagicEndOfTurnPhase.java | 3 +-- src/magic/model/phase/MagicPhase.java | 3 +-- src/magic/ui/MagicSound.java | 7 +++++++ src/magic/ui/duel/SwingGameController.java | 5 ++--- 6 files changed, 12 insertions(+), 17 deletions(-) diff --git a/src/magic/data/SoundEffects.java b/src/magic/data/SoundEffects.java index a3696db063..b5a3e09a44 100644 --- a/src/magic/data/SoundEffects.java +++ b/src/magic/data/SoundEffects.java @@ -14,8 +14,6 @@ import javax.sound.sampled.LineEvent; import javax.sound.sampled.LineUnavailableException; import javax.sound.sampled.SourceDataLine; import javax.swing.SwingUtilities; -import magic.model.MagicGame; -import magic.ui.MagicSound; public class SoundEffects { @@ -29,12 +27,6 @@ public class SoundEffects { private SoundEffects() {} - public static void playGameSound(final MagicGame game, MagicSound aSound) { - if (game.isReal() && GeneralConfig.getInstance().isSound()) { - aSound.play(); - } - } - private static void setVolume(final Clip aClip, int volPercent) { BooleanControl muteControl = (BooleanControl) aClip.getControl(BooleanControl.Type.MUTE); diff --git a/src/magic/model/phase/MagicCombatDamagePhase.java b/src/magic/model/phase/MagicCombatDamagePhase.java index bbd7995be8..dfb5ea4870 100644 --- a/src/magic/model/phase/MagicCombatDamagePhase.java +++ b/src/magic/model/phase/MagicCombatDamagePhase.java @@ -1,6 +1,5 @@ package magic.model.phase; -import magic.data.SoundEffects; import magic.model.MagicGame; import magic.model.MagicPlayer; import magic.model.action.CombatDamageAction; @@ -52,7 +51,7 @@ public class MagicCombatDamagePhase extends MagicPhase { if (game.getStep() == MagicStep.Begin) { game.setStep(MagicStep.ActivePlayer); } else { - SoundEffects.playGameSound(game, MagicSound.COMBAT_DAMAGE); + MagicSound.COMBAT_DAMAGE.play(game); } } diff --git a/src/magic/model/phase/MagicEndOfTurnPhase.java b/src/magic/model/phase/MagicEndOfTurnPhase.java index c568c78427..648f379ecb 100644 --- a/src/magic/model/phase/MagicEndOfTurnPhase.java +++ b/src/magic/model/phase/MagicEndOfTurnPhase.java @@ -1,6 +1,5 @@ package magic.model.phase; -import magic.data.SoundEffects; import magic.model.MagicGame; import magic.model.action.ReturnExiledAction; import magic.model.trigger.MagicTriggerType; @@ -30,6 +29,6 @@ public class MagicEndOfTurnPhase extends MagicPhase { @Override protected void executeEndOfPhase(final MagicGame game) { - SoundEffects.playGameSound(game, MagicSound.NEW_TURN); + MagicSound.NEW_TURN.play(game); } } diff --git a/src/magic/model/phase/MagicPhase.java b/src/magic/model/phase/MagicPhase.java index 4c226dfca8..dc7a10fa4a 100644 --- a/src/magic/model/phase/MagicPhase.java +++ b/src/magic/model/phase/MagicPhase.java @@ -1,6 +1,5 @@ package magic.model.phase; -import magic.data.SoundEffects; import magic.model.MagicGame; import magic.model.action.StackResolveAction; import magic.model.event.MagicPriorityEvent; @@ -42,7 +41,7 @@ public abstract class MagicPhase { // Stack can be empty at this point, for instance by a counter unless event. if (!game.getStack().isEmpty()) { game.doAction(new StackResolveAction()); - SoundEffects.playGameSound(game, MagicSound.RESOLVE_ACTION); + MagicSound.RESOLVE_ACTION.play(game); } game.setStep(MagicStep.ActivePlayer); break; diff --git a/src/magic/ui/MagicSound.java b/src/magic/ui/MagicSound.java index 37b20ba713..b740804c02 100644 --- a/src/magic/ui/MagicSound.java +++ b/src/magic/ui/MagicSound.java @@ -5,6 +5,7 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import magic.data.GeneralConfig; import magic.data.SoundEffects; +import magic.model.MagicGame; import magic.utility.MagicResources; public enum MagicSound { @@ -49,4 +50,10 @@ public enum MagicSound { executor.shutdown(); } + public void play(final MagicGame game) { + if (game.isReal() && config.isSound()) { + MagicSound.this.play(); + } + } + } diff --git a/src/magic/ui/duel/SwingGameController.java b/src/magic/ui/duel/SwingGameController.java index 4f4f390d59..6e11be61aa 100644 --- a/src/magic/ui/duel/SwingGameController.java +++ b/src/magic/ui/duel/SwingGameController.java @@ -32,7 +32,6 @@ import magic.ai.MagicAI; import magic.data.DuelConfig; import magic.data.GeneralConfig; import magic.data.MagicIcon; -import magic.data.SoundEffects; import magic.exception.InvalidDeckException; import magic.exception.UndoClickedException; import magic.game.state.GameState; @@ -846,9 +845,9 @@ public class SwingGameController implements IUIGameController { private void playEndGameSoundEffect() { if (game.getLosingPlayer().getIndex() == 0) { - SoundEffects.playGameSound(game, MagicSound.LOSE_GAME); + MagicSound.LOSE_GAME.play(game); } else { - SoundEffects.playGameSound(game, MagicSound.WIN_GAME); + MagicSound.WIN_GAME.play(game); } }