From 95cbb2870cb81e7fe1a6636519e1667a33707692 Mon Sep 17 00:00:00 2001 From: Maxmtg Date: Sun, 12 Jan 2014 17:34:40 +0000 Subject: [PATCH] event phased had to be game event, not purely UI one --- .gitattributes | 2 +- .../control/FControlGameEventHandler.java | 6 ++++ .../src/main/java/forge/game/card/Card.java | 5 ++- .../forge/game/event/GameEventCardPhased.java | 32 +++++++++++++++++++ .../forge/game/event/IGameEventVisitor.java | 7 ++-- .../forge/gui/events/IUiEventVisitor.java | 1 - .../forge/gui/events/UiEventCardPhased.java | 32 ------------------- .../main/java/forge/gui/match/CMatchUI.java | 7 ---- .../java/forge/sound/EventVisualizer.java | 4 +-- 9 files changed, 45 insertions(+), 51 deletions(-) create mode 100644 forge-gui/src/main/java/forge/game/event/GameEventCardPhased.java delete mode 100644 forge-gui/src/main/java/forge/gui/events/UiEventCardPhased.java diff --git a/.gitattributes b/.gitattributes index b4335b6bc3a..f961fa72819 100644 --- a/.gitattributes +++ b/.gitattributes @@ -15047,6 +15047,7 @@ forge-gui/src/main/java/forge/game/event/GameEventCardChangeZone.java -text forge-gui/src/main/java/forge/game/event/GameEventCardCounters.java -text forge-gui/src/main/java/forge/game/event/GameEventCardDamaged.java -text forge-gui/src/main/java/forge/game/event/GameEventCardDestroyed.java -text +forge-gui/src/main/java/forge/game/event/GameEventCardPhased.java -text forge-gui/src/main/java/forge/game/event/GameEventCardRegenerated.java -text forge-gui/src/main/java/forge/game/event/GameEventCardSacrificed.java -text forge-gui/src/main/java/forge/game/event/GameEventCardStatsChanged.java -text @@ -15281,7 +15282,6 @@ forge-gui/src/main/java/forge/gui/events/IUiEventVisitor.java -text forge-gui/src/main/java/forge/gui/events/UiEvent.java -text forge-gui/src/main/java/forge/gui/events/UiEventAttackerDeclared.java -text forge-gui/src/main/java/forge/gui/events/UiEventBlockerAssigned.java -text -forge-gui/src/main/java/forge/gui/events/UiEventCardPhased.java -text forge-gui/src/main/java/forge/gui/framework/CEmptyDoc.java -text forge-gui/src/main/java/forge/gui/framework/DragCell.java -text forge-gui/src/main/java/forge/gui/framework/DragTab.java -text diff --git a/forge-gui/src/main/java/forge/control/FControlGameEventHandler.java b/forge-gui/src/main/java/forge/control/FControlGameEventHandler.java index 7fd1d996bd6..403159694f4 100644 --- a/forge-gui/src/main/java/forge/control/FControlGameEventHandler.java +++ b/forge-gui/src/main/java/forge/control/FControlGameEventHandler.java @@ -23,6 +23,7 @@ import forge.game.event.GameEventBlockersDeclared; import forge.game.event.GameEventCardAttachment; import forge.game.event.GameEventCardCounters; import forge.game.event.GameEventCardDamaged; +import forge.game.event.GameEventCardPhased; import forge.game.event.GameEventCardStatsChanged; import forge.game.event.GameEventCardTapped; import forge.game.event.GameEventCombatEnded; @@ -273,6 +274,11 @@ public class FControlGameEventHandler extends IGameEventVisitor.Base { public Void visit(GameEventCardTapped event) { return updateSingleCard(event.card); } + + @Override + public Void visit(GameEventCardPhased event) { + return updateSingleCard(event.card); + } @Override public Void visit(GameEventCardDamaged event) { diff --git a/forge-gui/src/main/java/forge/game/card/Card.java b/forge-gui/src/main/java/forge/game/card/Card.java index b804bb45f33..f97fd5f3140 100644 --- a/forge-gui/src/main/java/forge/game/card/Card.java +++ b/forge-gui/src/main/java/forge/game/card/Card.java @@ -68,6 +68,7 @@ import forge.game.event.GameEventCardAttachment.AttachMethod; import forge.game.event.GameEventCardDamaged.DamageType; import forge.game.event.GameEventCardAttachment; import forge.game.event.GameEventCardCounters; +import forge.game.event.GameEventCardPhased; import forge.game.event.GameEventCardStatsChanged; import forge.game.event.GameEventCardTapped; import forge.game.player.Player; @@ -86,8 +87,6 @@ import forge.game.trigger.TriggerType; import forge.game.trigger.ZCTrigger; import forge.game.zone.Zone; import forge.game.zone.ZoneType; -import forge.gui.events.UiEventCardPhased; -import forge.gui.match.CMatchUI; import forge.item.IPaperCard; import forge.item.PaperCard; import forge.util.Expressions; @@ -4879,7 +4878,7 @@ public class Card extends GameEntity implements Comparable { } } - CMatchUI.SINGLETON_INSTANCE.fireEvent(new UiEventCardPhased(this, this.isPhasedOut())); + this.getGame().fireEvent(new GameEventCardPhased(this, this.isPhasedOut())); } private boolean switchPhaseState() { diff --git a/forge-gui/src/main/java/forge/game/event/GameEventCardPhased.java b/forge-gui/src/main/java/forge/game/event/GameEventCardPhased.java new file mode 100644 index 00000000000..f637301e1a4 --- /dev/null +++ b/forge-gui/src/main/java/forge/game/event/GameEventCardPhased.java @@ -0,0 +1,32 @@ +package forge.game.event; + +import forge.game.card.Card; + +/** + * TODO: Write javadoc for this type. + * + */ +public class GameEventCardPhased extends GameEvent { + + public final Card card; + public final boolean phaseState; + + public GameEventCardPhased(Card card, boolean state) { + this.card = card; + phaseState = state; + } + + @Override + public T visit(IGameEventVisitor visitor) { + return visitor.visit(this); + } + + /* (non-Javadoc) + * @see java.lang.Object#toString() + */ + @Override + public String toString() { + return card != null ? card.toString() : "(unknown)" + " changed its phased-out state to " + phaseState; + } +} + diff --git a/forge-gui/src/main/java/forge/game/event/IGameEventVisitor.java b/forge-gui/src/main/java/forge/game/event/IGameEventVisitor.java index 18f51dd7f14..d962525a199 100644 --- a/forge-gui/src/main/java/forge/game/event/IGameEventVisitor.java +++ b/forge-gui/src/main/java/forge/game/event/IGameEventVisitor.java @@ -14,6 +14,7 @@ public interface IGameEventVisitor { T visit(GameEventCardChangeZone event); T visit(GameEventCardRegenerated event); T visit(GameEventCardSacrificed event); + T visit(GameEventCardPhased event); T visit(GameEventCardTapped event); T visit(GameEventCardStatsChanged event); T visit(GameEventCardCounters event); @@ -57,6 +58,7 @@ public interface IGameEventVisitor { public T visit(GameEventCardTapped event) { return null; } public T visit(GameEventCardStatsChanged event) { return null; } public T visit(GameEventCardCounters event) { return null; } + public T visit(GameEventCardPhased event) { return null; } public T visit(GameEventGameFinished event) { return null; } public T visit(GameEventGameOutcome event) { return null; } public T visit(GameEventFlipCoin event) { return null; } @@ -82,10 +84,5 @@ public interface IGameEventVisitor { public T visit(GameEventZone event) { return null; } public T visit(GameEventCombatEnded event) { return null; } } - - - - - } diff --git a/forge-gui/src/main/java/forge/gui/events/IUiEventVisitor.java b/forge-gui/src/main/java/forge/gui/events/IUiEventVisitor.java index 54e81c7d971..757fa00da66 100644 --- a/forge-gui/src/main/java/forge/gui/events/IUiEventVisitor.java +++ b/forge-gui/src/main/java/forge/gui/events/IUiEventVisitor.java @@ -3,5 +3,4 @@ package forge.gui.events; public interface IUiEventVisitor { T visit(UiEventBlockerAssigned event); T visit(UiEventAttackerDeclared event); - T visit(UiEventCardPhased event); } \ No newline at end of file diff --git a/forge-gui/src/main/java/forge/gui/events/UiEventCardPhased.java b/forge-gui/src/main/java/forge/gui/events/UiEventCardPhased.java deleted file mode 100644 index 36f3686fabc..00000000000 --- a/forge-gui/src/main/java/forge/gui/events/UiEventCardPhased.java +++ /dev/null @@ -1,32 +0,0 @@ -package forge.gui.events; - -import forge.game.card.Card; - -/** - * TODO: Write javadoc for this type. - * - */ -public class UiEventCardPhased extends UiEvent { - - public final Card phasingCard; - public final boolean phaseState; - - public UiEventCardPhased(Card card, boolean state) { - phasingCard = card; - phaseState = state; - } - - @Override - public T visit(IUiEventVisitor visitor) { - return visitor.visit(this); - } - - /* (non-Javadoc) - * @see java.lang.Object#toString() - */ - @Override - public String toString() { - return phasingCard != null ? phasingCard.toString() : "(unknown)" + " changed its phased-out state to " + phaseState; - } -} - diff --git a/forge-gui/src/main/java/forge/gui/match/CMatchUI.java b/forge-gui/src/main/java/forge/gui/match/CMatchUI.java index 92655d3ccac..0f843d44870 100644 --- a/forge-gui/src/main/java/forge/gui/match/CMatchUI.java +++ b/forge-gui/src/main/java/forge/gui/match/CMatchUI.java @@ -49,7 +49,6 @@ import forge.gui.events.IUiEventVisitor; import forge.gui.events.UiEvent; import forge.gui.events.UiEventAttackerDeclared; import forge.gui.events.UiEventBlockerAssigned; -import forge.gui.events.UiEventCardPhased; import forge.gui.framework.EDocID; import forge.gui.framework.FScreen; import forge.gui.framework.ICDoc; @@ -421,12 +420,6 @@ public enum CMatchUI implements ICDoc, IMenuProvider { return null; } - @Override - public Void visit(UiEventCardPhased event) { - updateSingleCard(event.phasingCard); - return null; - } - @Subscribe public void receiveEvent(UiEvent evt) { evt.visit(this); diff --git a/forge-gui/src/main/java/forge/sound/EventVisualizer.java b/forge-gui/src/main/java/forge/sound/EventVisualizer.java index 6867407a832..237b7c2d8de 100644 --- a/forge-gui/src/main/java/forge/sound/EventVisualizer.java +++ b/forge-gui/src/main/java/forge/sound/EventVisualizer.java @@ -8,6 +8,7 @@ import forge.game.event.GameEventCardChangeZone; import forge.game.event.GameEventCardDamaged; import forge.game.event.GameEventCardDestroyed; import forge.game.event.GameEventCardAttachment; +import forge.game.event.GameEventCardPhased; import forge.game.event.GameEventCardRegenerated; import forge.game.event.GameEventCardSacrificed; import forge.game.event.GameEventCardCounters; @@ -28,7 +29,6 @@ import forge.game.zone.ZoneType; import forge.gui.events.IUiEventVisitor; import forge.gui.events.UiEventAttackerDeclared; import forge.gui.events.UiEventBlockerAssigned; -import forge.gui.events.UiEventCardPhased; import forge.net.FServer; import forge.util.maps.MapOfLists; @@ -209,7 +209,7 @@ public class EventVisualizer extends IGameEventVisitor.Base imp return null; } @Override - public SoundEffectType visit(UiEventCardPhased event) { + public SoundEffectType visit(GameEventCardPhased event) { return SoundEffectType.Phasing; } }