just removed the extra parameter transferred through the dispatch from all the visitors (they may just hold the extra data in their own fields)

This commit is contained in:
Maxmtg
2013-05-29 19:44:20 +00:00
parent ac4537fbb2
commit 9c5b5c6d73
35 changed files with 166 additions and 156 deletions

View File

@@ -39,6 +39,7 @@ import forge.util.MyObservable;
public class GameLog extends MyObservable { public class GameLog extends MyObservable {
private List<GameLogEntry> log = new ArrayList<GameLogEntry>(); private List<GameLogEntry> log = new ArrayList<GameLogEntry>();
private GameLogFormatter formatter = new GameLogFormatter(this);
/** Logging level: /** Logging level:
* 0 - Turn * 0 - Turn
* 2 - Stack items * 2 - Stack items
@@ -111,7 +112,7 @@ public class GameLog extends MyObservable {
@Subscribe @Subscribe
public void receiveGameEvent(GameEvent ev) { public void receiveGameEvent(GameEvent ev) {
GameLogEntry record = GameLogFormatter.logEvent(ev, this); GameLogEntry record = formatter.recieve(ev);
if( null != record ) { if( null != record ) {
add(record); add(record);
} }

View File

@@ -17,11 +17,18 @@ import forge.game.player.PlayerStatistics;
import forge.util.Lang; import forge.util.Lang;
public class GameLogFormatter { public class GameLogFormatter {
private final GameLog log;
public GameLogFormatter(GameLog gameLog) {
log = gameLog;
}
// Some events produce several log entries. I've let them added into log directly // Some events produce several log entries. I've let them added into log directly
static GameLogEntry logEvent(GameEvent ev, GameLog log) { private GameLogEntry logEvent(GameEvent ev) {
if(ev instanceof GameEventDuelOutcome) { if(ev instanceof GameEventDuelOutcome) {
return GameLogFormatter.fillOutcome(log, ((GameEventDuelOutcome) ev).result, ((GameEventDuelOutcome) ev).history ); return fillOutcome(((GameEventDuelOutcome) ev).result, ((GameEventDuelOutcome) ev).history );
} else if ( ev instanceof GameEventPlayerControl ) { } else if ( ev instanceof GameEventPlayerControl ) {
LobbyPlayer newController = ((GameEventPlayerControl) ev).newController; LobbyPlayer newController = ((GameEventPlayerControl) ev).newController;
@@ -46,7 +53,7 @@ public class GameLogFormatter {
/** /**
* Generates and adds * Generates and adds
*/ */
private static GameLogEntry fillOutcome(GameLog log, GameOutcome result, List<GameOutcome> history) { private GameLogEntry fillOutcome(GameOutcome result, List<GameOutcome> history) {
// add result entries to the game log // add result entries to the game log
final LobbyPlayer human = Singletons.getControl().getLobby().getGuiPlayer(); final LobbyPlayer human = Singletons.getControl().getLobby().getGuiPlayer();
@@ -145,7 +152,11 @@ public class GameLogFormatter {
return new GameLogEntry(GameEventType.COMBAT, sb.toString()); return new GameLogEntry(GameEventType.COMBAT, sb.toString());
} }
public GameLogEntry recieve(GameEvent ev) {
return logEvent(ev);
}
} // end class GameLog } // end class GameLog

View File

@@ -25,7 +25,7 @@ import forge.gui.match.ViewWinLose;
import forge.gui.match.nonsingleton.VHand; import forge.gui.match.nonsingleton.VHand;
import forge.gui.match.nonsingleton.VField.PhaseLabel; import forge.gui.match.nonsingleton.VField.PhaseLabel;
public class FControlGameEventHandler extends IGameEventVisitor.Base<Void, Void> { public class FControlGameEventHandler extends IGameEventVisitor.Base<Void> {
public final FControl fc; public final FControl fc;
public FControlGameEventHandler(FControl fc ) { public FControlGameEventHandler(FControl fc ) {
this.fc = fc; this.fc = fc;
@@ -34,10 +34,10 @@ public class FControlGameEventHandler extends IGameEventVisitor.Base<Void, Void>
private final AtomicBoolean phaseUpdPlanned = new AtomicBoolean(false); private final AtomicBoolean phaseUpdPlanned = new AtomicBoolean(false);
@Subscribe @Subscribe
public void receiveGameEvent(final GameEvent ev) { ev.visit(this, null); } public void receiveGameEvent(final GameEvent ev) { ev.visit(this); }
@Override @Override
public Void visit(final GameEventTurnPhase ev, Void params) { public Void visit(final GameEventTurnPhase ev) {
if ( phaseUpdPlanned.getAndSet(true) ) return null; if ( phaseUpdPlanned.getAndSet(true) ) return null;
FThreads.invokeInEdtNowOrLater(new Runnable() { @Override public void run() { FThreads.invokeInEdtNowOrLater(new Runnable() { @Override public void run() {
@@ -60,7 +60,7 @@ public class FControlGameEventHandler extends IGameEventVisitor.Base<Void, Void>
} }
@Override @Override
public Void visit(GameEventAnteCardsSelected ev, Void params) { public Void visit(GameEventAnteCardsSelected ev) {
// Require EDT here? // Require EDT here?
final String nl = System.getProperty("line.separator"); final String nl = System.getProperty("line.separator");
final StringBuilder msg = new StringBuilder(); final StringBuilder msg = new StringBuilder();
@@ -72,7 +72,7 @@ public class FControlGameEventHandler extends IGameEventVisitor.Base<Void, Void>
} }
@Override @Override
public Void visit(GameEventPlayerControl ev, Void params) { public Void visit(GameEventPlayerControl ev) {
FThreads.invokeInEdtNowOrLater(new Runnable() { @Override public void run() { FThreads.invokeInEdtNowOrLater(new Runnable() { @Override public void run() {
CMatchUI.SINGLETON_INSTANCE.initHandViews(fc.getLobby().getGuiPlayer()); CMatchUI.SINGLETON_INSTANCE.initHandViews(fc.getLobby().getGuiPlayer());
VMatchUI.SINGLETON_INSTANCE.populate(); VMatchUI.SINGLETON_INSTANCE.populate();
@@ -84,7 +84,7 @@ public class FControlGameEventHandler extends IGameEventVisitor.Base<Void, Void>
} }
@Override @Override
public Void visit(GameEventDuelOutcome ev, Void params) { public Void visit(GameEventDuelOutcome ev) {
FThreads.invokeInEdtNowOrLater(new Runnable() { @Override public void run() { FThreads.invokeInEdtNowOrLater(new Runnable() { @Override public void run() {
fc.getInputQueue().onGameOver(); // this will unlock any game threads waiting for inputs to complete fc.getInputQueue().onGameOver(); // this will unlock any game threads waiting for inputs to complete
} }); } });
@@ -92,7 +92,7 @@ public class FControlGameEventHandler extends IGameEventVisitor.Base<Void, Void>
} }
@Override @Override
public Void visit(GameEventDuelFinished ev, Void params) { public Void visit(GameEventDuelFinished ev) {
FThreads.invokeInEdtNowOrLater(new Runnable() { @Override public void run() { FThreads.invokeInEdtNowOrLater(new Runnable() { @Override public void run() {
new ViewWinLose(fc.getObservedGame().getMatch()); new ViewWinLose(fc.getObservedGame().getMatch());
SOverlayUtils.showOverlay(); SOverlayUtils.showOverlay();

View File

@@ -2,5 +2,5 @@ package forge.game.event;
public abstract class GameEvent { public abstract class GameEvent {
public abstract <T,U> U visit(IGameEventVisitor<T, U> visitor, T params); public abstract <T> T visit(IGameEventVisitor<T> visitor);
} }

View File

@@ -13,7 +13,7 @@ public class GameEventAnteCardsSelected extends GameEvent {
@Override @Override
public <T, U> U visit(IGameEventVisitor<T, U> visitor, T params) { public <T> T visit(IGameEventVisitor<T> visitor) {
return visitor.visit(this, params); return visitor.visit(this);
} }
} }

View File

@@ -3,8 +3,8 @@ package forge.game.event;
public class GameEventBlockerAssigned extends GameEvent { public class GameEventBlockerAssigned extends GameEvent {
@Override @Override
public <T, U> U visit(IGameEventVisitor<T, U> visitor, T params) { public <T> T visit(IGameEventVisitor<T> visitor) {
return visitor.visit(this, params); return visitor.visit(this);
} }

View File

@@ -3,8 +3,8 @@ package forge.game.event;
public class GameEventCardDamaged extends GameEvent { public class GameEventCardDamaged extends GameEvent {
@Override @Override
public <T, U> U visit(IGameEventVisitor<T, U> visitor, T params) { public <T> T visit(IGameEventVisitor<T> visitor) {
return visitor.visit(this, params); return visitor.visit(this);
} }
} }

View File

@@ -3,8 +3,8 @@ package forge.game.event;
public class GameEventCardDestroyed extends GameEvent { public class GameEventCardDestroyed extends GameEvent {
@Override @Override
public <T, U> U visit(IGameEventVisitor<T, U> visitor, T params) { public <T> T visit(IGameEventVisitor<T> visitor) {
return visitor.visit(this, params); return visitor.visit(this);
} }
} }

View File

@@ -3,8 +3,8 @@ package forge.game.event;
public class GameEventCardDiscarded extends GameEvent { public class GameEventCardDiscarded extends GameEvent {
@Override @Override
public <T, U> U visit(IGameEventVisitor<T, U> visitor, T params) { public <T> T visit(IGameEventVisitor<T> visitor) {
return visitor.visit(this, params); return visitor.visit(this);
} }
} }

View File

@@ -3,7 +3,7 @@ package forge.game.event;
public class GameEventCardEquipped extends GameEvent { public class GameEventCardEquipped extends GameEvent {
@Override @Override
public <T, U> U visit(IGameEventVisitor<T, U> visitor, T params) { public <T> T visit(IGameEventVisitor<T> visitor) {
return visitor.visit(this, params); return visitor.visit(this);
} }
} }

View File

@@ -3,7 +3,7 @@ package forge.game.event;
public class GameEventCardRegenerated extends GameEvent { public class GameEventCardRegenerated extends GameEvent {
@Override @Override
public <T, U> U visit(IGameEventVisitor<T, U> visitor, T params) { public <T> T visit(IGameEventVisitor<T> visitor) {
return visitor.visit(this, params); return visitor.visit(this);
} }
} }

View File

@@ -3,7 +3,7 @@ package forge.game.event;
public class GameEventCardSacrificed extends GameEvent { public class GameEventCardSacrificed extends GameEvent {
@Override @Override
public <T, U> U visit(IGameEventVisitor<T, U> visitor, T params) { public <T> T visit(IGameEventVisitor<T> visitor) {
return visitor.visit(this, params); return visitor.visit(this);
} }
} }

View File

@@ -13,7 +13,7 @@ public class GameEventCardTapped extends GameEvent {
@Override @Override
public <T, U> U visit(IGameEventVisitor<T, U> visitor, T params) { public <T> T visit(IGameEventVisitor<T> visitor) {
return visitor.visit(this, params); return visitor.visit(this);
} }
} }

View File

@@ -8,7 +8,7 @@ public class GameEventCounterAdded extends GameEvent {
} }
@Override @Override
public <T, U> U visit(IGameEventVisitor<T, U> visitor, T params) { public <T> T visit(IGameEventVisitor<T> visitor) {
return visitor.visit(this, params); return visitor.visit(this);
} }
} }

View File

@@ -12,7 +12,7 @@ public class GameEventCounterRemoved extends GameEvent {
} }
@Override @Override
public <T, U> U visit(IGameEventVisitor<T, U> visitor, T params) { public <T> T visit(IGameEventVisitor<T> visitor) {
return visitor.visit(this, params); return visitor.visit(this);
} }
} }

View File

@@ -4,7 +4,7 @@ public class GameEventDrawCard extends GameEvent {
@Override @Override
public <T, U> U visit(IGameEventVisitor<T, U> visitor, T params) { public <T> T visit(IGameEventVisitor<T> visitor) {
return visitor.visit(this, params); return visitor.visit(this);
} }
} }

View File

@@ -5,8 +5,8 @@ public class GameEventDuelFinished extends GameEvent {
@Override @Override
public <T, U> U visit(IGameEventVisitor<T, U> visitor, T params) { public <T> T visit(IGameEventVisitor<T> visitor) {
return visitor.visit(this, params); return visitor.visit(this);
} }
} // need this class to launch after log was built via previous event } // need this class to launch after log was built via previous event

View File

@@ -15,7 +15,7 @@ public class GameEventDuelOutcome extends GameEvent {
@Override @Override
public <T, U> U visit(IGameEventVisitor<T, U> visitor, T params) { public <T> T visit(IGameEventVisitor<T> visitor) {
return visitor.visit(this, params); return visitor.visit(this);
} }
} }

View File

@@ -4,7 +4,7 @@ public class GameEventEndOfTurn extends GameEvent {
@Override @Override
public <T, U> U visit(IGameEventVisitor<T, U> visitor, T params) { public <T> T visit(IGameEventVisitor<T> visitor) {
return visitor.visit(this, params); return visitor.visit(this);
} }
} }

View File

@@ -4,7 +4,7 @@ public class GameEventFlipCoin extends GameEvent {
@Override @Override
public <T, U> U visit(IGameEventVisitor<T, U> visitor, T params) { public <T> T visit(IGameEventVisitor<T> visitor) {
return visitor.visit(this, params); return visitor.visit(this);
} }
} }

View File

@@ -16,7 +16,7 @@ public class GameEventGameRestarted extends GameEvent {
@Override @Override
public <T, U> U visit(IGameEventVisitor<T, U> visitor, T params) { public <T> T visit(IGameEventVisitor<T> visitor) {
return visitor.visit(this, params); return visitor.visit(this);
} }
} }

View File

@@ -16,7 +16,7 @@ public class GameEventLandPlayed extends GameEvent {
@Override @Override
public <T, U> U visit(IGameEventVisitor<T, U> visitor, T params) { public <T> T visit(IGameEventVisitor<T> visitor) {
return visitor.visit(this, params); return visitor.visit(this);
} }
} }

View File

@@ -3,7 +3,7 @@ package forge.game.event;
public class GameEventLifeLoss extends GameEvent { public class GameEventLifeLoss extends GameEvent {
@Override @Override
public <T, U> U visit(IGameEventVisitor<T, U> visitor, T params) { public <T> T visit(IGameEventVisitor<T> visitor) {
return visitor.visit(this, params); return visitor.visit(this);
} }
} }

View File

@@ -4,7 +4,7 @@ public class GameEventManaBurn extends GameEvent {
@Override @Override
public <T, U> U visit(IGameEventVisitor<T, U> visitor, T params) { public <T> T visit(IGameEventVisitor<T> visitor) {
return visitor.visit(this, params); return visitor.visit(this);
} }
} }

View File

@@ -15,7 +15,7 @@ public class GameEventMulligan extends GameEvent {
@Override @Override
public <T, U> U visit(IGameEventVisitor<T, U> visitor, T params) { public <T> T visit(IGameEventVisitor<T> visitor) {
return visitor.visit(this, params); return visitor.visit(this);
} }
} }

View File

@@ -16,7 +16,7 @@ public class GameEventPlayerControl extends GameEvent {
@Override @Override
public <T, U> U visit(IGameEventVisitor<T, U> visitor, T params) { public <T> T visit(IGameEventVisitor<T> visitor) {
return visitor.visit(this, params); return visitor.visit(this);
} }
} }

View File

@@ -24,7 +24,7 @@ public class GameEventPoisonCounter extends GameEvent {
@Override @Override
public <T, U> U visit(IGameEventVisitor<T, U> visitor, T params) { public <T> T visit(IGameEventVisitor<T> visitor) {
return visitor.visit(this, params); return visitor.visit(this);
} }
} }

View File

@@ -3,7 +3,7 @@ package forge.game.event;
public class GameEventShuffle extends GameEvent { public class GameEventShuffle extends GameEvent {
@Override @Override
public <T, U> U visit(IGameEventVisitor<T, U> visitor, T params) { public <T> T visit(IGameEventVisitor<T> visitor) {
return visitor.visit(this, params); return visitor.visit(this);
} }
} }

View File

@@ -26,7 +26,7 @@ public class GameEventSpellResolved extends GameEvent {
@Override @Override
public <T, U> U visit(IGameEventVisitor<T, U> visitor, T params) { public <T> T visit(IGameEventVisitor<T> visitor) {
return visitor.visit(this, params); return visitor.visit(this);
} }
} }

View File

@@ -4,7 +4,7 @@ public class GameEventTokenCreated extends GameEvent {
@Override @Override
public <T, U> U visit(IGameEventVisitor<T, U> visitor, T params) { public <T> T visit(IGameEventVisitor<T> visitor) {
return visitor.visit(this, params); return visitor.visit(this);
} }
} }

View File

@@ -21,7 +21,7 @@ public class GameEventTurnPhase extends GameEvent {
@Override @Override
public <T, U> U visit(IGameEventVisitor<T, U> visitor, T params) { public <T> T visit(IGameEventVisitor<T> visitor) {
return visitor.visit(this, params); return visitor.visit(this);
} }
} }

View File

@@ -4,65 +4,65 @@ package forge.game.event;
* TODO: Write javadoc for this type. * TODO: Write javadoc for this type.
* *
*/ */
public interface IGameEventVisitor<T,U> { public interface IGameEventVisitor<T> {
U visit(GameEventBlockerAssigned event, T params); T visit(GameEventBlockerAssigned event);
U visit(GameEventCardDamaged event, T params); T visit(GameEventCardDamaged event);
U visit(GameEventCardDestroyed event, T params); T visit(GameEventCardDestroyed event);
U visit(GameEventCardDiscarded event, T params); T visit(GameEventCardDiscarded event);
U visit(GameEventCardEquipped event, T params); T visit(GameEventCardEquipped event);
U visit(GameEventCardRegenerated event, T params); T visit(GameEventCardRegenerated event);
U visit(GameEventCardSacrificed event, T params); T visit(GameEventCardSacrificed event);
U visit(GameEventAnteCardsSelected event, T params); T visit(GameEventAnteCardsSelected event);
U visit(GameEventCardTapped event, T params); T visit(GameEventCardTapped event);
U visit(GameEventCounterAdded event, T params); T visit(GameEventCounterAdded event);
U visit(GameEventCounterRemoved event, T params); T visit(GameEventCounterRemoved event);
U visit(GameEventDrawCard event, T params); T visit(GameEventDrawCard event);
U visit(GameEventDuelFinished event, T params); T visit(GameEventDuelFinished event);
U visit(GameEventDuelOutcome event, T params); T visit(GameEventDuelOutcome event);
U visit(GameEventEndOfTurn event, T params); T visit(GameEventEndOfTurn event);
U visit(GameEventFlipCoin event, T params); T visit(GameEventFlipCoin event);
U visit(GameEventGameRestarted event, T params); T visit(GameEventGameRestarted event);
U visit(GameEventLandPlayed event, T params); T visit(GameEventLandPlayed event);
U visit(GameEventLifeLoss event, T params); T visit(GameEventLifeLoss event);
U visit(GameEventManaBurn event, T params); T visit(GameEventManaBurn event);
U visit(GameEventMulligan event, T params); T visit(GameEventMulligan event);
U visit(GameEventPlayerControl event, T params); T visit(GameEventPlayerControl event);
U visit(GameEventPoisonCounter event, T params); T visit(GameEventPoisonCounter event);
U visit(GameEventShuffle event, T params); T visit(GameEventShuffle event);
U visit(GameEventSpellResolved event, T params); T visit(GameEventSpellResolved event);
U visit(GameEventTokenCreated event, T params); T visit(GameEventTokenCreated event);
U visit(GameEventTurnPhase event, T params); T visit(GameEventTurnPhase event);
// This is base class for all visitors. // This is base class for all visitors.
public static class Base<T,U> implements IGameEventVisitor<T,U>{ public static class Base<T> implements IGameEventVisitor<T>{
public U visit(GameEventBlockerAssigned event, T params) { return null; } public T visit(GameEventBlockerAssigned event) { return null; }
public U visit(GameEventCardDamaged event, T params) { return null; } public T visit(GameEventCardDamaged event) { return null; }
public U visit(GameEventCardDestroyed event, T params) { return null; } public T visit(GameEventCardDestroyed event) { return null; }
public U visit(GameEventCardDiscarded event, T params) { return null; } public T visit(GameEventCardDiscarded event) { return null; }
public U visit(GameEventCardEquipped event, T params) { return null; } public T visit(GameEventCardEquipped event) { return null; }
public U visit(GameEventCardRegenerated event, T params) { return null; } public T visit(GameEventCardRegenerated event) { return null; }
public U visit(GameEventCardSacrificed event, T params) { return null; } public T visit(GameEventCardSacrificed event) { return null; }
public U visit(GameEventAnteCardsSelected event, T params) { return null; } public T visit(GameEventAnteCardsSelected event) { return null; }
public U visit(GameEventCardTapped event, T params) { return null; } public T visit(GameEventCardTapped event) { return null; }
public U visit(GameEventCounterAdded event, T params) { return null; } public T visit(GameEventCounterAdded event) { return null; }
public U visit(GameEventCounterRemoved event, T params) { return null; } public T visit(GameEventCounterRemoved event) { return null; }
public U visit(GameEventDrawCard event, T params) { return null; } public T visit(GameEventDrawCard event) { return null; }
public U visit(GameEventDuelFinished event, T params) { return null; } public T visit(GameEventDuelFinished event) { return null; }
public U visit(GameEventDuelOutcome event, T params) { return null; } public T visit(GameEventDuelOutcome event) { return null; }
public U visit(GameEventEndOfTurn event, T params) { return null; } public T visit(GameEventEndOfTurn event) { return null; }
public U visit(GameEventFlipCoin event, T params) { return null; } public T visit(GameEventFlipCoin event) { return null; }
public U visit(GameEventGameRestarted event, T params) { return null; } public T visit(GameEventGameRestarted event) { return null; }
public U visit(GameEventLandPlayed event, T params) { return null; } public T visit(GameEventLandPlayed event) { return null; }
public U visit(GameEventLifeLoss event, T params) { return null; } public T visit(GameEventLifeLoss event) { return null; }
public U visit(GameEventManaBurn event, T params) { return null; } public T visit(GameEventManaBurn event) { return null; }
public U visit(GameEventMulligan event, T params) { return null; } public T visit(GameEventMulligan event) { return null; }
public U visit(GameEventPlayerControl event, T params) { return null; } public T visit(GameEventPlayerControl event) { return null; }
public U visit(GameEventPoisonCounter event, T params) { return null; } public T visit(GameEventPoisonCounter event) { return null; }
public U visit(GameEventShuffle event, T params) { return null; } public T visit(GameEventShuffle event) { return null; }
public U visit(GameEventSpellResolved event, T params) { return null; } public T visit(GameEventSpellResolved event) { return null; }
public U visit(GameEventTokenCreated event, T params) { return null; } public T visit(GameEventTokenCreated event) { return null; }
public U visit(GameEventTurnPhase event, T params) { return null; } public T visit(GameEventTurnPhase event) { return null; }
} }
} }

View File

@@ -37,8 +37,6 @@ import forge.game.ai.ComputerUtilCost;
import forge.game.player.HumanPlay; import forge.game.player.HumanPlay;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
import forge.gui.match.CMatchUI;
import forge.gui.match.nonsingleton.VField.PhaseLabel;
/** /**
* <p> * <p>

View File

@@ -37,30 +37,30 @@ import forge.game.event.IGameEventVisitor;
* This class is in charge of converting any forge.game.event.Event to a SoundEffectType. * This class is in charge of converting any forge.game.event.Event to a SoundEffectType.
* *
*/ */
public class EventVisualizer implements IGameEventVisitor<Void, SoundEffectType> { public class EventVisualizer implements IGameEventVisitor<SoundEffectType> {
public SoundEffectType visit(GameEventBlockerAssigned event, Void params) { return SoundEffectType.Block; } public SoundEffectType visit(GameEventBlockerAssigned event) { return SoundEffectType.Block; }
public SoundEffectType visit(GameEventCardDamaged event, Void params) { return SoundEffectType.Damage; } public SoundEffectType visit(GameEventCardDamaged event) { return SoundEffectType.Damage; }
public SoundEffectType visit(GameEventCardDestroyed event, Void params) { return SoundEffectType.Destroy; } public SoundEffectType visit(GameEventCardDestroyed event) { return SoundEffectType.Destroy; }
public SoundEffectType visit(GameEventCardDiscarded event, Void params) { return SoundEffectType.Discard; } public SoundEffectType visit(GameEventCardDiscarded event) { return SoundEffectType.Discard; }
public SoundEffectType visit(GameEventCardEquipped event, Void params) { return SoundEffectType.Equip; } public SoundEffectType visit(GameEventCardEquipped event) { return SoundEffectType.Equip; }
public SoundEffectType visit(GameEventCardRegenerated event, Void params) { return SoundEffectType.Regen; } public SoundEffectType visit(GameEventCardRegenerated event) { return SoundEffectType.Regen; }
public SoundEffectType visit(GameEventCardSacrificed event, Void params) { return SoundEffectType.Sacrifice; } public SoundEffectType visit(GameEventCardSacrificed event) { return SoundEffectType.Sacrifice; }
public SoundEffectType visit(GameEventCounterAdded event, Void params) { return event.Amount > 0 ? SoundEffectType.AddCounter : null; } public SoundEffectType visit(GameEventCounterAdded event) { return event.Amount > 0 ? SoundEffectType.AddCounter : null; }
public SoundEffectType visit(GameEventCounterRemoved event, Void params) { return event.Amount > 0 ? SoundEffectType.RemoveCounter : null; } public SoundEffectType visit(GameEventCounterRemoved event) { return event.Amount > 0 ? SoundEffectType.RemoveCounter : null; }
public SoundEffectType visit(GameEventDrawCard event, Void params) { return SoundEffectType.Draw; } public SoundEffectType visit(GameEventDrawCard event) { return SoundEffectType.Draw; }
public SoundEffectType visit(GameEventEndOfTurn event, Void params) { return SoundEffectType.EndOfTurn; } public SoundEffectType visit(GameEventEndOfTurn event) { return SoundEffectType.EndOfTurn; }
public SoundEffectType visit(GameEventFlipCoin event, Void params) { return SoundEffectType.FlipCoin; } public SoundEffectType visit(GameEventFlipCoin event) { return SoundEffectType.FlipCoin; }
public SoundEffectType visit(GameEventLifeLoss event, Void params) { return SoundEffectType.LifeLoss; } public SoundEffectType visit(GameEventLifeLoss event) { return SoundEffectType.LifeLoss; }
public SoundEffectType visit(GameEventPoisonCounter event, Void params) { return SoundEffectType.Poison; } public SoundEffectType visit(GameEventPoisonCounter event) { return SoundEffectType.Poison; }
public SoundEffectType visit(GameEventShuffle event, Void params) { return SoundEffectType.Shuffle; } public SoundEffectType visit(GameEventShuffle event) { return SoundEffectType.Shuffle; }
public SoundEffectType visit(GameEventTokenCreated event, Void params) { return SoundEffectType.Token; } public SoundEffectType visit(GameEventTokenCreated event) { return SoundEffectType.Token; }
/** /**
* Plays the sound corresponding to the outcome of the duel. * Plays the sound corresponding to the outcome of the duel.
*/ */
public SoundEffectType visit(GameEventDuelOutcome event, Void params) { public SoundEffectType visit(GameEventDuelOutcome event) {
boolean humanWonTheDuel = event.result.getWinner() == Singletons.getControl().getLobby().getGuiPlayer(); boolean humanWonTheDuel = event.result.getWinner() == Singletons.getControl().getLobby().getGuiPlayer();
return humanWonTheDuel ? SoundEffectType.WinDuel : SoundEffectType.LoseDuel; return humanWonTheDuel ? SoundEffectType.WinDuel : SoundEffectType.LoseDuel;
} }
@@ -69,7 +69,7 @@ public class EventVisualizer implements IGameEventVisitor<Void, SoundEffectType>
* Plays the sound corresponding to the card type/color when the card * Plays the sound corresponding to the card type/color when the card
* ability resolves on the stack. * ability resolves on the stack.
*/ */
public SoundEffectType visit(GameEventSpellResolved evt, Void params) { public SoundEffectType visit(GameEventSpellResolved evt) {
Card source = evt.Source; Card source = evt.Source;
SpellAbility sa = evt.Spell; SpellAbility sa = evt.Spell;
@@ -111,7 +111,7 @@ public class EventVisualizer implements IGameEventVisitor<Void, SoundEffectType>
* "untap" sound is played * "untap" sound is played
* @return the sound effect type * @return the sound effect type
*/ */
public SoundEffectType visit(GameEventCardTapped event, Void params) { public SoundEffectType visit(GameEventCardTapped event) {
return event.tapped ? SoundEffectType.Tap : SoundEffectType.Untap; return event.tapped ? SoundEffectType.Tap : SoundEffectType.Untap;
} }
@@ -121,7 +121,7 @@ public class EventVisualizer implements IGameEventVisitor<Void, SoundEffectType>
* @param land the land card that was played * @param land the land card that was played
* @return the sound effect type * @return the sound effect type
*/ */
public SoundEffectType visit(GameEventLandPlayed event, Void params) { public SoundEffectType visit(GameEventLandPlayed event) {
Card land = event.Land; Card land = event.Land;
if (land == null) { if (land == null) {
return null; return null;
@@ -184,12 +184,12 @@ public class EventVisualizer implements IGameEventVisitor<Void, SoundEffectType>
} }
// These are not used by sound system // These are not used by sound system
public SoundEffectType visit(GameEventGameRestarted event, Void params) { return null; } public SoundEffectType visit(GameEventGameRestarted event) { return null; }
public SoundEffectType visit(GameEventDuelFinished event, Void params) { return null; } public SoundEffectType visit(GameEventDuelFinished event) { return null; }
public SoundEffectType visit(GameEventAnteCardsSelected event, Void params) { return null; } public SoundEffectType visit(GameEventAnteCardsSelected event) { return null; }
public SoundEffectType visit(GameEventManaBurn event, Void params) { return null; } public SoundEffectType visit(GameEventManaBurn event) { return null; }
public SoundEffectType visit(GameEventMulligan event, Void params) { return null; } public SoundEffectType visit(GameEventMulligan event) { return null; }
public SoundEffectType visit(GameEventPlayerControl event, Void params) { return null; } public SoundEffectType visit(GameEventPlayerControl event) { return null; }
public SoundEffectType visit(GameEventTurnPhase event, Void params) { return null; } public SoundEffectType visit(GameEventTurnPhase event) { return null; }
} }

View File

@@ -151,7 +151,7 @@ public class SoundSystem {
@Subscribe @Subscribe
public void receiveEvent(GameEvent evt) { public void receiveEvent(GameEvent evt) {
SoundEffectType effect = evt.visit(visualizer, null); SoundEffectType effect = evt.visit(visualizer);
if (null == effect) { if (null == effect) {
return; return;
} }