event phased had to be game event, not purely UI one

This commit is contained in:
Maxmtg
2014-01-12 17:34:40 +00:00
parent 17891a62fa
commit 95cbb2870c
9 changed files with 45 additions and 51 deletions

2
.gitattributes vendored
View File

@@ -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

View File

@@ -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;
@@ -274,6 +275,11 @@ public class FControlGameEventHandler extends IGameEventVisitor.Base<Void> {
return updateSingleCard(event.card);
}
@Override
public Void visit(GameEventCardPhased event) {
return updateSingleCard(event.card);
}
@Override
public Void visit(GameEventCardDamaged event) {
return updateSingleCard(event.card);

View File

@@ -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<Card> {
}
}
CMatchUI.SINGLETON_INSTANCE.fireEvent(new UiEventCardPhased(this, this.isPhasedOut()));
this.getGame().fireEvent(new GameEventCardPhased(this, this.isPhasedOut()));
}
private boolean switchPhaseState() {

View File

@@ -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> T visit(IGameEventVisitor<T> 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;
}
}

View File

@@ -14,6 +14,7 @@ public interface IGameEventVisitor<T> {
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<T> {
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<T> {
public T visit(GameEventZone event) { return null; }
public T visit(GameEventCombatEnded event) { return null; }
}
}

View File

@@ -3,5 +3,4 @@ package forge.gui.events;
public interface IUiEventVisitor<T> {
T visit(UiEventBlockerAssigned event);
T visit(UiEventAttackerDeclared event);
T visit(UiEventCardPhased event);
}

View File

@@ -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> T visit(IUiEventVisitor<T> 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;
}
}

View File

@@ -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);

View File

@@ -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<SoundEffectType> imp
return null;
}
@Override
public SoundEffectType visit(UiEventCardPhased event) {
public SoundEffectType visit(GameEventCardPhased event) {
return SoundEffectType.Phasing;
}
}