Play gameplay sound directly from MagicSound instance.

master
lodici 2016-01-02 21:52:08 +00:00 committed by lodici
parent b4bc485710
commit b20101e641
6 changed files with 12 additions and 17 deletions

View File

@ -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);

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -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;

View File

@ -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();
}
}
}

View File

@ -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);
}
}