diff --git a/src/main/java/forge/GameLog.java b/src/main/java/forge/GameLog.java index 4481dce3952..972777b9c92 100644 --- a/src/main/java/forge/GameLog.java +++ b/src/main/java/forge/GameLog.java @@ -39,6 +39,7 @@ import forge.util.MyObservable; public class GameLog extends MyObservable { private List log = new ArrayList(); + 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); } diff --git a/src/main/java/forge/GameLogFormatter.java b/src/main/java/forge/GameLogFormatter.java index 3f3e5e359a3..cd75dd4d229 100644 --- a/src/main/java/forge/GameLogFormatter.java +++ b/src/main/java/forge/GameLogFormatter.java @@ -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 history) { + private GameLogEntry fillOutcome(GameOutcome result, List history) { // add result entries to the game log final LobbyPlayer human = Singletons.getControl().getLobby().getGuiPlayer(); @@ -145,7 +152,11 @@ public class GameLogFormatter { return new GameLogEntry(GameEventType.COMBAT, sb.toString()); } - - + + + + public GameLogEntry recieve(GameEvent ev) { + return logEvent(ev); + } } // end class GameLog \ No newline at end of file diff --git a/src/main/java/forge/control/FControlGameEventHandler.java b/src/main/java/forge/control/FControlGameEventHandler.java index d7337791410..2ec6ce02c9c 100644 --- a/src/main/java/forge/control/FControlGameEventHandler.java +++ b/src/main/java/forge/control/FControlGameEventHandler.java @@ -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 { +public class FControlGameEventHandler extends IGameEventVisitor.Base { public final FControl fc; public FControlGameEventHandler(FControl fc ) { this.fc = fc; @@ -34,10 +34,10 @@ public class FControlGameEventHandler extends IGameEventVisitor.Base 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 } @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 } @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 } @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 } @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(); diff --git a/src/main/java/forge/game/event/GameEvent.java b/src/main/java/forge/game/event/GameEvent.java index 3846640fa66..f633a6c88af 100644 --- a/src/main/java/forge/game/event/GameEvent.java +++ b/src/main/java/forge/game/event/GameEvent.java @@ -2,5 +2,5 @@ package forge.game.event; public abstract class GameEvent { - public abstract U visit(IGameEventVisitor visitor, T params); + public abstract T visit(IGameEventVisitor visitor); } diff --git a/src/main/java/forge/game/event/GameEventAnteCardsSelected.java b/src/main/java/forge/game/event/GameEventAnteCardsSelected.java index 100478c1cb7..6f2b362914d 100644 --- a/src/main/java/forge/game/event/GameEventAnteCardsSelected.java +++ b/src/main/java/forge/game/event/GameEventAnteCardsSelected.java @@ -13,7 +13,7 @@ public class GameEventAnteCardsSelected extends GameEvent { @Override - public U visit(IGameEventVisitor visitor, T params) { - return visitor.visit(this, params); + public T visit(IGameEventVisitor visitor) { + return visitor.visit(this); } } \ No newline at end of file diff --git a/src/main/java/forge/game/event/GameEventBlockerAssigned.java b/src/main/java/forge/game/event/GameEventBlockerAssigned.java index 1f00b28eec3..b940cb94c53 100644 --- a/src/main/java/forge/game/event/GameEventBlockerAssigned.java +++ b/src/main/java/forge/game/event/GameEventBlockerAssigned.java @@ -3,8 +3,8 @@ package forge.game.event; public class GameEventBlockerAssigned extends GameEvent { @Override - public U visit(IGameEventVisitor visitor, T params) { - return visitor.visit(this, params); + public T visit(IGameEventVisitor visitor) { + return visitor.visit(this); } diff --git a/src/main/java/forge/game/event/GameEventCardDamaged.java b/src/main/java/forge/game/event/GameEventCardDamaged.java index 74f928604e3..8a88a28e305 100644 --- a/src/main/java/forge/game/event/GameEventCardDamaged.java +++ b/src/main/java/forge/game/event/GameEventCardDamaged.java @@ -3,8 +3,8 @@ package forge.game.event; public class GameEventCardDamaged extends GameEvent { @Override - public U visit(IGameEventVisitor visitor, T params) { - return visitor.visit(this, params); + public T visit(IGameEventVisitor visitor) { + return visitor.visit(this); } } diff --git a/src/main/java/forge/game/event/GameEventCardDestroyed.java b/src/main/java/forge/game/event/GameEventCardDestroyed.java index 5d1285c4faf..9dc6e5772ee 100644 --- a/src/main/java/forge/game/event/GameEventCardDestroyed.java +++ b/src/main/java/forge/game/event/GameEventCardDestroyed.java @@ -3,8 +3,8 @@ package forge.game.event; public class GameEventCardDestroyed extends GameEvent { @Override - public U visit(IGameEventVisitor visitor, T params) { - return visitor.visit(this, params); + public T visit(IGameEventVisitor visitor) { + return visitor.visit(this); } } diff --git a/src/main/java/forge/game/event/GameEventCardDiscarded.java b/src/main/java/forge/game/event/GameEventCardDiscarded.java index f39c9551b7e..32bb37f792c 100644 --- a/src/main/java/forge/game/event/GameEventCardDiscarded.java +++ b/src/main/java/forge/game/event/GameEventCardDiscarded.java @@ -3,8 +3,8 @@ package forge.game.event; public class GameEventCardDiscarded extends GameEvent { @Override - public U visit(IGameEventVisitor visitor, T params) { - return visitor.visit(this, params); + public T visit(IGameEventVisitor visitor) { + return visitor.visit(this); } } diff --git a/src/main/java/forge/game/event/GameEventCardEquipped.java b/src/main/java/forge/game/event/GameEventCardEquipped.java index e6491075f47..f82123ac58c 100644 --- a/src/main/java/forge/game/event/GameEventCardEquipped.java +++ b/src/main/java/forge/game/event/GameEventCardEquipped.java @@ -3,7 +3,7 @@ package forge.game.event; public class GameEventCardEquipped extends GameEvent { @Override - public U visit(IGameEventVisitor visitor, T params) { - return visitor.visit(this, params); + public T visit(IGameEventVisitor visitor) { + return visitor.visit(this); } } diff --git a/src/main/java/forge/game/event/GameEventCardRegenerated.java b/src/main/java/forge/game/event/GameEventCardRegenerated.java index 562acb52333..969ffc2fd1b 100644 --- a/src/main/java/forge/game/event/GameEventCardRegenerated.java +++ b/src/main/java/forge/game/event/GameEventCardRegenerated.java @@ -3,7 +3,7 @@ package forge.game.event; public class GameEventCardRegenerated extends GameEvent { @Override - public U visit(IGameEventVisitor visitor, T params) { - return visitor.visit(this, params); + public T visit(IGameEventVisitor visitor) { + return visitor.visit(this); } } diff --git a/src/main/java/forge/game/event/GameEventCardSacrificed.java b/src/main/java/forge/game/event/GameEventCardSacrificed.java index c5e08d70a73..674bf5a3a96 100644 --- a/src/main/java/forge/game/event/GameEventCardSacrificed.java +++ b/src/main/java/forge/game/event/GameEventCardSacrificed.java @@ -3,7 +3,7 @@ package forge.game.event; public class GameEventCardSacrificed extends GameEvent { @Override - public U visit(IGameEventVisitor visitor, T params) { - return visitor.visit(this, params); + public T visit(IGameEventVisitor visitor) { + return visitor.visit(this); } } diff --git a/src/main/java/forge/game/event/GameEventCardTapped.java b/src/main/java/forge/game/event/GameEventCardTapped.java index e4ae91cbdfe..79546bdd3c3 100644 --- a/src/main/java/forge/game/event/GameEventCardTapped.java +++ b/src/main/java/forge/game/event/GameEventCardTapped.java @@ -13,7 +13,7 @@ public class GameEventCardTapped extends GameEvent { @Override - public U visit(IGameEventVisitor visitor, T params) { - return visitor.visit(this, params); + public T visit(IGameEventVisitor visitor) { + return visitor.visit(this); } } diff --git a/src/main/java/forge/game/event/GameEventCounterAdded.java b/src/main/java/forge/game/event/GameEventCounterAdded.java index e241dd7b605..8548db55c37 100644 --- a/src/main/java/forge/game/event/GameEventCounterAdded.java +++ b/src/main/java/forge/game/event/GameEventCounterAdded.java @@ -8,7 +8,7 @@ public class GameEventCounterAdded extends GameEvent { } @Override - public U visit(IGameEventVisitor visitor, T params) { - return visitor.visit(this, params); + public T visit(IGameEventVisitor visitor) { + return visitor.visit(this); } } \ No newline at end of file diff --git a/src/main/java/forge/game/event/GameEventCounterRemoved.java b/src/main/java/forge/game/event/GameEventCounterRemoved.java index a0b2324b7f6..6dc63aedf78 100644 --- a/src/main/java/forge/game/event/GameEventCounterRemoved.java +++ b/src/main/java/forge/game/event/GameEventCounterRemoved.java @@ -12,7 +12,7 @@ public class GameEventCounterRemoved extends GameEvent { } @Override - public U visit(IGameEventVisitor visitor, T params) { - return visitor.visit(this, params); + public T visit(IGameEventVisitor visitor) { + return visitor.visit(this); } } diff --git a/src/main/java/forge/game/event/GameEventDrawCard.java b/src/main/java/forge/game/event/GameEventDrawCard.java index 74d937276c9..2d3b8b3e9e1 100644 --- a/src/main/java/forge/game/event/GameEventDrawCard.java +++ b/src/main/java/forge/game/event/GameEventDrawCard.java @@ -4,7 +4,7 @@ public class GameEventDrawCard extends GameEvent { @Override - public U visit(IGameEventVisitor visitor, T params) { - return visitor.visit(this, params); + public T visit(IGameEventVisitor visitor) { + return visitor.visit(this); } } diff --git a/src/main/java/forge/game/event/GameEventDuelFinished.java b/src/main/java/forge/game/event/GameEventDuelFinished.java index a4f80a1c04d..c6663782112 100644 --- a/src/main/java/forge/game/event/GameEventDuelFinished.java +++ b/src/main/java/forge/game/event/GameEventDuelFinished.java @@ -5,8 +5,8 @@ public class GameEventDuelFinished extends GameEvent { @Override - public U visit(IGameEventVisitor visitor, T params) { - return visitor.visit(this, params); + public T visit(IGameEventVisitor visitor) { + return visitor.visit(this); } } // need this class to launch after log was built via previous event \ No newline at end of file diff --git a/src/main/java/forge/game/event/GameEventDuelOutcome.java b/src/main/java/forge/game/event/GameEventDuelOutcome.java index a3fd6561a72..22e0e0a07f3 100644 --- a/src/main/java/forge/game/event/GameEventDuelOutcome.java +++ b/src/main/java/forge/game/event/GameEventDuelOutcome.java @@ -15,7 +15,7 @@ public class GameEventDuelOutcome extends GameEvent { @Override - public U visit(IGameEventVisitor visitor, T params) { - return visitor.visit(this, params); + public T visit(IGameEventVisitor visitor) { + return visitor.visit(this); } } \ No newline at end of file diff --git a/src/main/java/forge/game/event/GameEventEndOfTurn.java b/src/main/java/forge/game/event/GameEventEndOfTurn.java index 1a94a0e721b..b93f3e9b002 100644 --- a/src/main/java/forge/game/event/GameEventEndOfTurn.java +++ b/src/main/java/forge/game/event/GameEventEndOfTurn.java @@ -4,7 +4,7 @@ public class GameEventEndOfTurn extends GameEvent { @Override - public U visit(IGameEventVisitor visitor, T params) { - return visitor.visit(this, params); + public T visit(IGameEventVisitor visitor) { + return visitor.visit(this); } } diff --git a/src/main/java/forge/game/event/GameEventFlipCoin.java b/src/main/java/forge/game/event/GameEventFlipCoin.java index d9b59f6f12b..fd4dfbb3037 100644 --- a/src/main/java/forge/game/event/GameEventFlipCoin.java +++ b/src/main/java/forge/game/event/GameEventFlipCoin.java @@ -4,7 +4,7 @@ public class GameEventFlipCoin extends GameEvent { @Override - public U visit(IGameEventVisitor visitor, T params) { - return visitor.visit(this, params); + public T visit(IGameEventVisitor visitor) { + return visitor.visit(this); } } diff --git a/src/main/java/forge/game/event/GameEventGameRestarted.java b/src/main/java/forge/game/event/GameEventGameRestarted.java index e8abea648e6..7c36e8dce05 100644 --- a/src/main/java/forge/game/event/GameEventGameRestarted.java +++ b/src/main/java/forge/game/event/GameEventGameRestarted.java @@ -16,7 +16,7 @@ public class GameEventGameRestarted extends GameEvent { @Override - public U visit(IGameEventVisitor visitor, T params) { - return visitor.visit(this, params); + public T visit(IGameEventVisitor visitor) { + return visitor.visit(this); } } diff --git a/src/main/java/forge/game/event/GameEventLandPlayed.java b/src/main/java/forge/game/event/GameEventLandPlayed.java index 48c0da30cbb..f8e9a9b962d 100644 --- a/src/main/java/forge/game/event/GameEventLandPlayed.java +++ b/src/main/java/forge/game/event/GameEventLandPlayed.java @@ -16,7 +16,7 @@ public class GameEventLandPlayed extends GameEvent { @Override - public U visit(IGameEventVisitor visitor, T params) { - return visitor.visit(this, params); + public T visit(IGameEventVisitor visitor) { + return visitor.visit(this); } } diff --git a/src/main/java/forge/game/event/GameEventLifeLoss.java b/src/main/java/forge/game/event/GameEventLifeLoss.java index c8a9e64a5b3..bf791513601 100644 --- a/src/main/java/forge/game/event/GameEventLifeLoss.java +++ b/src/main/java/forge/game/event/GameEventLifeLoss.java @@ -3,7 +3,7 @@ package forge.game.event; public class GameEventLifeLoss extends GameEvent { @Override - public U visit(IGameEventVisitor visitor, T params) { - return visitor.visit(this, params); + public T visit(IGameEventVisitor visitor) { + return visitor.visit(this); } } diff --git a/src/main/java/forge/game/event/GameEventManaBurn.java b/src/main/java/forge/game/event/GameEventManaBurn.java index 597d1c6cad9..007c0ff5d29 100644 --- a/src/main/java/forge/game/event/GameEventManaBurn.java +++ b/src/main/java/forge/game/event/GameEventManaBurn.java @@ -4,7 +4,7 @@ public class GameEventManaBurn extends GameEvent { @Override - public U visit(IGameEventVisitor visitor, T params) { - return visitor.visit(this, params); + public T visit(IGameEventVisitor visitor) { + return visitor.visit(this); } } diff --git a/src/main/java/forge/game/event/GameEventMulligan.java b/src/main/java/forge/game/event/GameEventMulligan.java index cf534b717b6..41de052c8b0 100644 --- a/src/main/java/forge/game/event/GameEventMulligan.java +++ b/src/main/java/forge/game/event/GameEventMulligan.java @@ -15,7 +15,7 @@ public class GameEventMulligan extends GameEvent { @Override - public U visit(IGameEventVisitor visitor, T params) { - return visitor.visit(this, params); + public T visit(IGameEventVisitor visitor) { + return visitor.visit(this); } } diff --git a/src/main/java/forge/game/event/GameEventPlayerControl.java b/src/main/java/forge/game/event/GameEventPlayerControl.java index b486860458c..72236623b84 100644 --- a/src/main/java/forge/game/event/GameEventPlayerControl.java +++ b/src/main/java/forge/game/event/GameEventPlayerControl.java @@ -16,7 +16,7 @@ public class GameEventPlayerControl extends GameEvent { @Override - public U visit(IGameEventVisitor visitor, T params) { - return visitor.visit(this, params); + public T visit(IGameEventVisitor visitor) { + return visitor.visit(this); } } \ No newline at end of file diff --git a/src/main/java/forge/game/event/GameEventPoisonCounter.java b/src/main/java/forge/game/event/GameEventPoisonCounter.java index b568c023c2a..833f5a68438 100644 --- a/src/main/java/forge/game/event/GameEventPoisonCounter.java +++ b/src/main/java/forge/game/event/GameEventPoisonCounter.java @@ -24,7 +24,7 @@ public class GameEventPoisonCounter extends GameEvent { @Override - public U visit(IGameEventVisitor visitor, T params) { - return visitor.visit(this, params); + public T visit(IGameEventVisitor visitor) { + return visitor.visit(this); } } diff --git a/src/main/java/forge/game/event/GameEventShuffle.java b/src/main/java/forge/game/event/GameEventShuffle.java index 3eede7738e9..50a637a73f0 100644 --- a/src/main/java/forge/game/event/GameEventShuffle.java +++ b/src/main/java/forge/game/event/GameEventShuffle.java @@ -3,7 +3,7 @@ package forge.game.event; public class GameEventShuffle extends GameEvent { @Override - public U visit(IGameEventVisitor visitor, T params) { - return visitor.visit(this, params); + public T visit(IGameEventVisitor visitor) { + return visitor.visit(this); } } diff --git a/src/main/java/forge/game/event/GameEventSpellResolved.java b/src/main/java/forge/game/event/GameEventSpellResolved.java index e12434fb946..55cef11b9df 100644 --- a/src/main/java/forge/game/event/GameEventSpellResolved.java +++ b/src/main/java/forge/game/event/GameEventSpellResolved.java @@ -26,7 +26,7 @@ public class GameEventSpellResolved extends GameEvent { @Override - public U visit(IGameEventVisitor visitor, T params) { - return visitor.visit(this, params); + public T visit(IGameEventVisitor visitor) { + return visitor.visit(this); } } diff --git a/src/main/java/forge/game/event/GameEventTokenCreated.java b/src/main/java/forge/game/event/GameEventTokenCreated.java index bda817dc01a..b18a154538b 100644 --- a/src/main/java/forge/game/event/GameEventTokenCreated.java +++ b/src/main/java/forge/game/event/GameEventTokenCreated.java @@ -4,7 +4,7 @@ public class GameEventTokenCreated extends GameEvent { @Override - public U visit(IGameEventVisitor visitor, T params) { - return visitor.visit(this, params); + public T visit(IGameEventVisitor visitor) { + return visitor.visit(this); } } diff --git a/src/main/java/forge/game/event/GameEventTurnPhase.java b/src/main/java/forge/game/event/GameEventTurnPhase.java index c8283a144f4..794ab885c0b 100644 --- a/src/main/java/forge/game/event/GameEventTurnPhase.java +++ b/src/main/java/forge/game/event/GameEventTurnPhase.java @@ -21,7 +21,7 @@ public class GameEventTurnPhase extends GameEvent { @Override - public U visit(IGameEventVisitor visitor, T params) { - return visitor.visit(this, params); + public T visit(IGameEventVisitor visitor) { + return visitor.visit(this); } } diff --git a/src/main/java/forge/game/event/IGameEventVisitor.java b/src/main/java/forge/game/event/IGameEventVisitor.java index c5acb83a88e..02e37d85e31 100644 --- a/src/main/java/forge/game/event/IGameEventVisitor.java +++ b/src/main/java/forge/game/event/IGameEventVisitor.java @@ -4,65 +4,65 @@ package forge.game.event; * TODO: Write javadoc for this type. * */ -public interface IGameEventVisitor { - 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 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 implements IGameEventVisitor{ - 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 implements IGameEventVisitor{ + 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; } } } diff --git a/src/main/java/forge/game/phase/PhaseUtil.java b/src/main/java/forge/game/phase/PhaseUtil.java index c6b4d042716..fd802736ff0 100644 --- a/src/main/java/forge/game/phase/PhaseUtil.java +++ b/src/main/java/forge/game/phase/PhaseUtil.java @@ -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; /** *

diff --git a/src/main/java/forge/sound/EventVisualizer.java b/src/main/java/forge/sound/EventVisualizer.java index a51ceb7cd24..fa0aa7e99c9 100644 --- a/src/main/java/forge/sound/EventVisualizer.java +++ b/src/main/java/forge/sound/EventVisualizer.java @@ -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 { +public class EventVisualizer implements IGameEventVisitor { - 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 * 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 * "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 * @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 } // 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; } } diff --git a/src/main/java/forge/sound/SoundSystem.java b/src/main/java/forge/sound/SoundSystem.java index 3b615a47ba5..9b0f09b026f 100644 --- a/src/main/java/forge/sound/SoundSystem.java +++ b/src/main/java/forge/sound/SoundSystem.java @@ -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; }