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

View File

@@ -17,11 +17,18 @@ import forge.game.player.PlayerStatistics;
import forge.util.Lang;
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
static GameLogEntry logEvent(GameEvent ev, GameLog log) {
private GameLogEntry logEvent(GameEvent ev) {
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 ) {
LobbyPlayer newController = ((GameEventPlayerControl) ev).newController;
@@ -46,7 +53,7 @@ public class GameLogFormatter {
/**
* 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
final LobbyPlayer human = Singletons.getControl().getLobby().getGuiPlayer();
@@ -148,4 +155,8 @@ public class GameLogFormatter {
public GameLogEntry recieve(GameEvent ev) {
return logEvent(ev);
}
} // 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.VField.PhaseLabel;
public class FControlGameEventHandler extends IGameEventVisitor.Base<Void, Void> {
public class FControlGameEventHandler extends IGameEventVisitor.Base<Void> {
public final FControl fc;
public FControlGameEventHandler(FControl fc ) {
this.fc = fc;
@@ -34,10 +34,10 @@ public class FControlGameEventHandler extends IGameEventVisitor.Base<Void, Void>
private final AtomicBoolean phaseUpdPlanned = new AtomicBoolean(false);
@Subscribe
public void receiveGameEvent(final GameEvent ev) { ev.visit(this, null); }
public void receiveGameEvent(final GameEvent ev) { ev.visit(this); }
@Override
public Void visit(final GameEventTurnPhase ev, Void params) {
public Void visit(final GameEventTurnPhase ev) {
if ( phaseUpdPlanned.getAndSet(true) ) return null;
FThreads.invokeInEdtNowOrLater(new Runnable() { @Override public void run() {
@@ -60,7 +60,7 @@ public class FControlGameEventHandler extends IGameEventVisitor.Base<Void, Void>
}
@Override
public Void visit(GameEventAnteCardsSelected ev, Void params) {
public Void visit(GameEventAnteCardsSelected ev) {
// Require EDT here?
final String nl = System.getProperty("line.separator");
final StringBuilder msg = new StringBuilder();
@@ -72,7 +72,7 @@ public class FControlGameEventHandler extends IGameEventVisitor.Base<Void, Void>
}
@Override
public Void visit(GameEventPlayerControl ev, Void params) {
public Void visit(GameEventPlayerControl ev) {
FThreads.invokeInEdtNowOrLater(new Runnable() { @Override public void run() {
CMatchUI.SINGLETON_INSTANCE.initHandViews(fc.getLobby().getGuiPlayer());
VMatchUI.SINGLETON_INSTANCE.populate();
@@ -84,7 +84,7 @@ public class FControlGameEventHandler extends IGameEventVisitor.Base<Void, Void>
}
@Override
public Void visit(GameEventDuelOutcome ev, Void params) {
public Void visit(GameEventDuelOutcome ev) {
FThreads.invokeInEdtNowOrLater(new Runnable() { @Override public void run() {
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
public Void visit(GameEventDuelFinished ev, Void params) {
public Void visit(GameEventDuelFinished ev) {
FThreads.invokeInEdtNowOrLater(new Runnable() { @Override public void run() {
new ViewWinLose(fc.getObservedGame().getMatch());
SOverlayUtils.showOverlay();

View File

@@ -2,5 +2,5 @@ package forge.game.event;
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
public <T, U> U visit(IGameEventVisitor<T, U> visitor, T params) {
return visitor.visit(this, params);
public <T> T visit(IGameEventVisitor<T> visitor) {
return visitor.visit(this);
}
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -4,65 +4,65 @@ package forge.game.event;
* TODO: Write javadoc for this type.
*
*/
public interface IGameEventVisitor<T,U> {
U visit(GameEventBlockerAssigned event, T params);
U visit(GameEventCardDamaged event, T params);
U visit(GameEventCardDestroyed event, T params);
U visit(GameEventCardDiscarded event, T params);
U visit(GameEventCardEquipped event, T params);
U visit(GameEventCardRegenerated event, T params);
U visit(GameEventCardSacrificed event, T params);
U visit(GameEventAnteCardsSelected event, T params);
U visit(GameEventCardTapped event, T params);
U visit(GameEventCounterAdded event, T params);
U visit(GameEventCounterRemoved event, T params);
U visit(GameEventDrawCard event, T params);
U visit(GameEventDuelFinished event, T params);
U visit(GameEventDuelOutcome event, T params);
U visit(GameEventEndOfTurn event, T params);
U visit(GameEventFlipCoin event, T params);
U visit(GameEventGameRestarted event, T params);
U visit(GameEventLandPlayed event, T params);
U visit(GameEventLifeLoss event, T params);
U visit(GameEventManaBurn event, T params);
U visit(GameEventMulligan event, T params);
U visit(GameEventPlayerControl event, T params);
U visit(GameEventPoisonCounter event, T params);
U visit(GameEventShuffle event, T params);
U visit(GameEventSpellResolved event, T params);
U visit(GameEventTokenCreated event, T params);
U visit(GameEventTurnPhase event, T params);
public interface IGameEventVisitor<T> {
T visit(GameEventBlockerAssigned event);
T visit(GameEventCardDamaged event);
T visit(GameEventCardDestroyed event);
T visit(GameEventCardDiscarded event);
T visit(GameEventCardEquipped event);
T visit(GameEventCardRegenerated event);
T visit(GameEventCardSacrificed event);
T visit(GameEventAnteCardsSelected event);
T visit(GameEventCardTapped event);
T visit(GameEventCounterAdded event);
T visit(GameEventCounterRemoved event);
T visit(GameEventDrawCard event);
T visit(GameEventDuelFinished event);
T visit(GameEventDuelOutcome event);
T visit(GameEventEndOfTurn event);
T visit(GameEventFlipCoin event);
T visit(GameEventGameRestarted event);
T visit(GameEventLandPlayed event);
T visit(GameEventLifeLoss event);
T visit(GameEventManaBurn event);
T visit(GameEventMulligan event);
T visit(GameEventPlayerControl event);
T visit(GameEventPoisonCounter event);
T visit(GameEventShuffle event);
T visit(GameEventSpellResolved event);
T visit(GameEventTokenCreated event);
T visit(GameEventTurnPhase event);
// This is base class for all visitors.
public static class Base<T,U> implements IGameEventVisitor<T,U>{
public U visit(GameEventBlockerAssigned event, T params) { return null; }
public U visit(GameEventCardDamaged event, T params) { return null; }
public U visit(GameEventCardDestroyed event, T params) { return null; }
public U visit(GameEventCardDiscarded event, T params) { return null; }
public U visit(GameEventCardEquipped event, T params) { return null; }
public U visit(GameEventCardRegenerated event, T params) { return null; }
public U visit(GameEventCardSacrificed event, T params) { return null; }
public U visit(GameEventAnteCardsSelected event, T params) { return null; }
public U visit(GameEventCardTapped event, T params) { return null; }
public U visit(GameEventCounterAdded event, T params) { return null; }
public U visit(GameEventCounterRemoved event, T params) { return null; }
public U visit(GameEventDrawCard event, T params) { return null; }
public U visit(GameEventDuelFinished event, T params) { return null; }
public U visit(GameEventDuelOutcome event, T params) { return null; }
public U visit(GameEventEndOfTurn event, T params) { return null; }
public U visit(GameEventFlipCoin event, T params) { return null; }
public U visit(GameEventGameRestarted event, T params) { return null; }
public U visit(GameEventLandPlayed event, T params) { return null; }
public U visit(GameEventLifeLoss event, T params) { return null; }
public U visit(GameEventManaBurn event, T params) { return null; }
public U visit(GameEventMulligan event, T params) { return null; }
public U visit(GameEventPlayerControl event, T params) { return null; }
public U visit(GameEventPoisonCounter event, T params) { return null; }
public U visit(GameEventShuffle event, T params) { return null; }
public U visit(GameEventSpellResolved event, T params) { return null; }
public U visit(GameEventTokenCreated event, T params) { return null; }
public U visit(GameEventTurnPhase event, T params) { return null; }
public static class Base<T> implements IGameEventVisitor<T>{
public T visit(GameEventBlockerAssigned event) { return null; }
public T visit(GameEventCardDamaged event) { return null; }
public T visit(GameEventCardDestroyed event) { return null; }
public T visit(GameEventCardDiscarded event) { return null; }
public T visit(GameEventCardEquipped event) { return null; }
public T visit(GameEventCardRegenerated event) { return null; }
public T visit(GameEventCardSacrificed event) { return null; }
public T visit(GameEventAnteCardsSelected event) { return null; }
public T visit(GameEventCardTapped event) { return null; }
public T visit(GameEventCounterAdded event) { return null; }
public T visit(GameEventCounterRemoved event) { return null; }
public T visit(GameEventDrawCard event) { return null; }
public T visit(GameEventDuelFinished event) { return null; }
public T visit(GameEventDuelOutcome event) { return null; }
public T visit(GameEventEndOfTurn event) { return null; }
public T visit(GameEventFlipCoin event) { return null; }
public T visit(GameEventGameRestarted event) { return null; }
public T visit(GameEventLandPlayed event) { return null; }
public T visit(GameEventLifeLoss event) { return null; }
public T visit(GameEventManaBurn event) { return null; }
public T visit(GameEventMulligan event) { return null; }
public T visit(GameEventPlayerControl event) { return null; }
public T visit(GameEventPoisonCounter event) { return null; }
public T visit(GameEventShuffle event) { return null; }
public T visit(GameEventSpellResolved event) { return null; }
public T visit(GameEventTokenCreated event) { 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.Player;
import forge.game.zone.ZoneType;
import forge.gui.match.CMatchUI;
import forge.gui.match.nonsingleton.VField.PhaseLabel;
/**
* <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.
*
*/
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(GameEventCardDamaged event, Void params) { return SoundEffectType.Damage; }
public SoundEffectType visit(GameEventCardDestroyed event, Void params) { return SoundEffectType.Destroy; }
public SoundEffectType visit(GameEventCardDiscarded event, Void params) { return SoundEffectType.Discard; }
public SoundEffectType visit(GameEventCardEquipped event, Void params) { return SoundEffectType.Equip; }
public SoundEffectType visit(GameEventCardRegenerated event, Void params) { return SoundEffectType.Regen; }
public SoundEffectType visit(GameEventCardSacrificed event, Void params) { return SoundEffectType.Sacrifice; }
public SoundEffectType visit(GameEventCounterAdded event, Void params) { return event.Amount > 0 ? SoundEffectType.AddCounter : null; }
public SoundEffectType visit(GameEventCounterRemoved event, Void params) { return event.Amount > 0 ? SoundEffectType.RemoveCounter : null; }
public SoundEffectType visit(GameEventDrawCard event, Void params) { return SoundEffectType.Draw; }
public SoundEffectType visit(GameEventEndOfTurn event, Void params) { return SoundEffectType.EndOfTurn; }
public SoundEffectType visit(GameEventFlipCoin event, Void params) { return SoundEffectType.FlipCoin; }
public SoundEffectType visit(GameEventLifeLoss event, Void params) { return SoundEffectType.LifeLoss; }
public SoundEffectType visit(GameEventPoisonCounter event, Void params) { return SoundEffectType.Poison; }
public SoundEffectType visit(GameEventShuffle event, Void params) { return SoundEffectType.Shuffle; }
public SoundEffectType visit(GameEventTokenCreated event, Void params) { return SoundEffectType.Token; }
public SoundEffectType visit(GameEventBlockerAssigned event) { return SoundEffectType.Block; }
public SoundEffectType visit(GameEventCardDamaged event) { return SoundEffectType.Damage; }
public SoundEffectType visit(GameEventCardDestroyed event) { return SoundEffectType.Destroy; }
public SoundEffectType visit(GameEventCardDiscarded event) { return SoundEffectType.Discard; }
public SoundEffectType visit(GameEventCardEquipped event) { return SoundEffectType.Equip; }
public SoundEffectType visit(GameEventCardRegenerated event) { return SoundEffectType.Regen; }
public SoundEffectType visit(GameEventCardSacrificed event) { return SoundEffectType.Sacrifice; }
public SoundEffectType visit(GameEventCounterAdded event) { return event.Amount > 0 ? SoundEffectType.AddCounter : null; }
public SoundEffectType visit(GameEventCounterRemoved event) { return event.Amount > 0 ? SoundEffectType.RemoveCounter : null; }
public SoundEffectType visit(GameEventDrawCard event) { return SoundEffectType.Draw; }
public SoundEffectType visit(GameEventEndOfTurn event) { return SoundEffectType.EndOfTurn; }
public SoundEffectType visit(GameEventFlipCoin event) { return SoundEffectType.FlipCoin; }
public SoundEffectType visit(GameEventLifeLoss event) { return SoundEffectType.LifeLoss; }
public SoundEffectType visit(GameEventPoisonCounter event) { return SoundEffectType.Poison; }
public SoundEffectType visit(GameEventShuffle event) { return SoundEffectType.Shuffle; }
public SoundEffectType visit(GameEventTokenCreated event) { return SoundEffectType.Token; }
/**
* 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();
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
* ability resolves on the stack.
*/
public SoundEffectType visit(GameEventSpellResolved evt, Void params) {
public SoundEffectType visit(GameEventSpellResolved evt) {
Card source = evt.Source;
SpellAbility sa = evt.Spell;
@@ -111,7 +111,7 @@ public class EventVisualizer implements IGameEventVisitor<Void, SoundEffectType>
* "untap" sound is played
* @return the sound effect type
*/
public SoundEffectType visit(GameEventCardTapped event, Void params) {
public SoundEffectType visit(GameEventCardTapped event) {
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
* @return the sound effect type
*/
public SoundEffectType visit(GameEventLandPlayed event, Void params) {
public SoundEffectType visit(GameEventLandPlayed event) {
Card land = event.Land;
if (land == null) {
return null;
@@ -184,12 +184,12 @@ public class EventVisualizer implements IGameEventVisitor<Void, SoundEffectType>
}
// These are not used by sound system
public SoundEffectType visit(GameEventGameRestarted event, Void params) { return null; }
public SoundEffectType visit(GameEventDuelFinished event, Void params) { return null; }
public SoundEffectType visit(GameEventAnteCardsSelected event, Void params) { return null; }
public SoundEffectType visit(GameEventManaBurn event, Void params) { return null; }
public SoundEffectType visit(GameEventMulligan event, Void params) { return null; }
public SoundEffectType visit(GameEventPlayerControl event, Void params) { return null; }
public SoundEffectType visit(GameEventTurnPhase event, Void params) { return null; }
public SoundEffectType visit(GameEventGameRestarted event) { return null; }
public SoundEffectType visit(GameEventDuelFinished event) { return null; }
public SoundEffectType visit(GameEventAnteCardsSelected event) { return null; }
public SoundEffectType visit(GameEventManaBurn event) { return null; }
public SoundEffectType visit(GameEventMulligan event) { return null; }
public SoundEffectType visit(GameEventPlayerControl event) { return null; }
public SoundEffectType visit(GameEventTurnPhase event) { return null; }
}

View File

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