mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 19:28:01 +00:00
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:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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
|
||||
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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; }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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; }
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user