All game.event.* named in a single fashion, more changes to come

This commit is contained in:
Maxmtg
2013-05-29 10:43:09 +00:00
parent 8ccb4f8f6a
commit 949764938a
65 changed files with 312 additions and 324 deletions

View File

@@ -64,11 +64,11 @@ import forge.card.trigger.TriggerType;
import forge.card.trigger.ZCTrigger;
import forge.game.GameState;
import forge.game.GlobalRuleChange;
import forge.game.event.CardDamagedEvent;
import forge.game.event.CardEquippedEvent;
import forge.game.event.CounterAddedEvent;
import forge.game.event.CounterRemovedEvent;
import forge.game.event.SetTappedEvent;
import forge.game.event.GameEventCardDamaged;
import forge.game.event.GameEventCardEquipped;
import forge.game.event.GameEventCounterAdded;
import forge.game.event.GameEventCounterRemoved;
import forge.game.event.GameEventCardTapped;
import forge.game.phase.Combat;
import forge.game.player.Player;
import forge.game.zone.ZoneType;
@@ -1154,7 +1154,7 @@ public class Card extends GameEntity implements Comparable<Card> {
}
// play the Add Counter sound
getGame().getEvents().post(new CounterAddedEvent(addAmount));
getGame().getEvents().post(new GameEventCounterAdded(addAmount));
this.updateObservers();
}
@@ -1235,7 +1235,7 @@ public class Card extends GameEntity implements Comparable<Card> {
}
// Play the Subtract Counter sound
getGame().getEvents().post(new CounterRemovedEvent(delta));
getGame().getEvents().post(new GameEventCounterRemoved(delta));
this.updateObservers();
}
@@ -3184,7 +3184,7 @@ public class Card extends GameEntity implements Comparable<Card> {
c.addEquippedBy(this);
// Play the Equip sound
getGame().getEvents().post(new CardEquippedEvent());
getGame().getEvents().post(new GameEventCardEquipped());
// run trigger
final HashMap<String, Object> runParams = new HashMap<String, Object>();
runParams.put("AttachSource", this);
@@ -4078,7 +4078,7 @@ public class Card extends GameEntity implements Comparable<Card> {
this.setTapped(true);
// Play the Tap sound
getGame().getEvents().post(new SetTappedEvent(true));
getGame().getEvents().post(new GameEventCardTapped(true));
}
/**
@@ -4094,7 +4094,7 @@ public class Card extends GameEntity implements Comparable<Card> {
getGame().getTriggerHandler().runTrigger(TriggerType.Untaps, runParams, false);
// Play the Untap sound
getGame().getEvents().post(new SetTappedEvent(false));
getGame().getEvents().post(new GameEventCardTapped(false));
}
for (final Command var : this.untapCommandList) {
@@ -7406,7 +7406,7 @@ public class Card extends GameEntity implements Comparable<Card> {
}
// Play the Damage sound
game.getEvents().post(new CardDamagedEvent());
game.getEvents().post(new GameEventCardDamaged());
}
getGame().getGameLog().add(GameEventType.DAMAGE, String.format("Dealing %d damage to %s. %s", damageToAdd, this.getName(), additionalLog));

View File

@@ -24,7 +24,7 @@ import java.util.List;
import org.apache.commons.lang3.StringUtils;
import com.google.common.eventbus.Subscribe;
import forge.game.event.Event;
import forge.game.event.GameEvent;
import forge.game.phase.Combat;
import forge.util.MyObservable;
@@ -110,7 +110,7 @@ public class GameLog extends MyObservable {
// Special methods
@Subscribe
public void receiveGameEvent(Event ev) {
public void receiveGameEvent(GameEvent ev) {
GameLogEntry record = GameLogFormatter.logEvent(ev, this);
if( null != record ) {
add(record);

View File

@@ -5,10 +5,10 @@ import java.util.List;
import java.util.Map.Entry;
import forge.game.GameOutcome;
import forge.game.event.DuelOutcomeEvent;
import forge.game.event.Event;
import forge.game.event.PhaseEvent;
import forge.game.event.PlayerControlEvent;
import forge.game.event.GameEventDuelOutcome;
import forge.game.event.GameEvent;
import forge.game.event.GameEventTurnPhase;
import forge.game.event.GameEventPlayerControl;
import forge.game.phase.Combat;
import forge.game.phase.PhaseType;
import forge.game.player.LobbyPlayer;
@@ -19,13 +19,13 @@ import forge.util.Lang;
public class GameLogFormatter {
// Some events produce several log entries. I've let them added into log directly
static GameLogEntry logEvent(Event ev, GameLog log) {
if(ev instanceof DuelOutcomeEvent) {
return GameLogFormatter.fillOutcome(log, ((DuelOutcomeEvent) ev).result, ((DuelOutcomeEvent) ev).history );
static GameLogEntry logEvent(GameEvent ev, GameLog log) {
if(ev instanceof GameEventDuelOutcome) {
return GameLogFormatter.fillOutcome(log, ((GameEventDuelOutcome) ev).result, ((GameEventDuelOutcome) ev).history );
} else if ( ev instanceof PlayerControlEvent ) {
LobbyPlayer newController = ((PlayerControlEvent) ev).getNewController();
Player p = ((PlayerControlEvent) ev).getPlayer();
} else if ( ev instanceof GameEventPlayerControl ) {
LobbyPlayer newController = ((GameEventPlayerControl) ev).newController;
Player p = ((GameEventPlayerControl) ev).player;
final String message;
if( newController == null )
@@ -34,10 +34,10 @@ public class GameLogFormatter {
message = String.format("%s is controlled by %s", p.getName(), newController.getName());
return new GameLogEntry(GameEventType.PLAYER_CONROL, message);
} else if ( ev instanceof PhaseEvent ) {
Player p = ((PhaseEvent) ev).playerTurn;
PhaseType ph = ((PhaseEvent) ev).phase;
return new GameLogEntry(GameEventType.PHASE, ((PhaseEvent) ev).phaseDesc + Lang.getPossesive(p.getName()) + " " + ph.nameForUi);
} else if ( ev instanceof GameEventTurnPhase ) {
Player p = ((GameEventTurnPhase) ev).playerTurn;
PhaseType ph = ((GameEventTurnPhase) ev).phase;
return new GameLogEntry(GameEventType.PHASE, ((GameEventTurnPhase) ev).phaseDesc + Lang.getPossesive(p.getName()) + " " + ph.nameForUi);
}
return null;
}

View File

@@ -10,7 +10,7 @@ import forge.card.ability.SpellAbilityEffect;
import forge.card.spellability.AbilitySub;
import forge.card.spellability.SpellAbility;
import forge.card.trigger.TriggerType;
import forge.game.event.FlipCoinEvent;
import forge.game.event.GameEventFlipCoin;
import forge.game.player.Player;
import forge.gui.GuiDialog;
import forge.util.MyRandom;
@@ -131,7 +131,7 @@ public class FlipCoinEffect extends SpellAbilityEffect {
public static boolean flipCoinNoCall(final Card source, final Player flipper) {
final boolean resultIsHeads = MyRandom.getRandom().nextBoolean();
flipper.getGame().getEvents().post(new FlipCoinEvent());
flipper.getGame().getEvents().post(new GameEventFlipCoin());
final StringBuilder result = new StringBuilder();
result.append(flipper.getName());
result.append("'s flip comes up");

View File

@@ -31,7 +31,7 @@ import forge.card.spellability.SpellAbility;
import forge.card.trigger.Trigger;
import forge.card.trigger.TriggerHandler;
import forge.game.GameState;
import forge.game.event.TokenCreatedEvent;
import forge.game.event.GameEventTokenCreated;
import forge.game.player.Player;
import forge.gui.GuiChoose;
import forge.item.CardToken;
@@ -209,7 +209,7 @@ public class TokenEffect extends SpellAbilityEffect {
for(Card tok : tokens) {
controller.getGame().getAction().moveToPlay(tok);
}
controller.getGame().getEvents().post(new TokenCreatedEvent());
controller.getGame().getEvents().post(new GameEventTokenCreated());
// Grant rule changes
if (this.tokenHiddenKeywords != null) {

View File

@@ -43,11 +43,11 @@ import forge.control.KeyboardShortcuts.Shortcut;
import forge.control.input.InputQueue;
import forge.game.GameState;
import forge.game.ai.AiProfileUtil;
import forge.game.event.CardsAntedEvent;
import forge.game.event.DuelFinishedEvent;
import forge.game.event.Event;
import forge.game.event.PhaseEvent;
import forge.game.event.PlayerControlEvent;
import forge.game.event.GameEventCardsAnted;
import forge.game.event.GameEventDuelFinished;
import forge.game.event.GameEvent;
import forge.game.event.GameEventTurnPhase;
import forge.game.event.GameEventPlayerControl;
import forge.game.phase.PhaseType;
import forge.game.phase.PhaseUtil;
import forge.game.player.LobbyPlayer;
@@ -417,23 +417,23 @@ public enum FControl {
}
@Subscribe
public void receiveGameEvent(final Event ev) {
public void receiveGameEvent(final GameEvent ev) {
if( ev instanceof DuelFinishedEvent ) {
if( ev instanceof GameEventDuelFinished ) {
FThreads.invokeInEdtNowOrLater(new Runnable() { @Override public void run() {
getInputQueue().onGameOver();
new ViewWinLose(game.getMatch());
SOverlayUtils.showOverlay();
} });
} else if ( ev instanceof CardsAntedEvent ) {
} else if ( ev instanceof GameEventCardsAnted ) {
// Require EDT here?
final String nl = System.getProperty("line.separator");
final StringBuilder msg = new StringBuilder();
for (final Pair<Player, Card> kv : ((CardsAntedEvent) ev).cards) {
for (final Pair<Player, Card> kv : ((GameEventCardsAnted) ev).cards) {
msg.append(kv.getKey().getName()).append(" ante: ").append(kv.getValue()).append(nl);
}
GuiDialog.message(msg.toString(), "Ante");
} else if ( ev instanceof PlayerControlEvent ) {
} else if ( ev instanceof GameEventPlayerControl ) {
FThreads.invokeInEdtNowOrLater(new Runnable() { @Override public void run() {
CMatchUI.SINGLETON_INSTANCE.initHandViews(getLobby().getGuiPlayer());
VMatchUI.SINGLETON_INSTANCE.populate();
@@ -441,10 +441,10 @@ public enum FControl {
h.getLayoutControl().updateHand();
}
} });
} else if ( ev instanceof PhaseEvent ) {
} else if ( ev instanceof GameEventTurnPhase ) {
FThreads.invokeInEdtNowOrLater(new Runnable() { @Override public void run() {
Player p = ((PhaseEvent) ev).playerTurn;
PhaseType ph = ((PhaseEvent) ev).phase;
Player p = ((GameEventTurnPhase) ev).playerTurn;
PhaseType ph = ((GameEventTurnPhase) ev).phase;
PhaseUtil.visuallyActivatePhase(p, ph);
} });
}

View File

@@ -59,9 +59,9 @@ import forge.card.trigger.TriggerType;
import forge.card.trigger.ZCTrigger;
import forge.game.ai.ComputerUtil;
import forge.game.ai.ComputerUtilCost;
import forge.game.event.CardDestroyedEvent;
import forge.game.event.CardRegeneratedEvent;
import forge.game.event.CardSacrificedEvent;
import forge.game.event.GameEventCardDestroyed;
import forge.game.event.GameEventCardRegenerated;
import forge.game.event.GameEventCardSacrificed;
import forge.game.player.GameLossReason;
import forge.game.player.HumanPlay;
import forge.game.player.Player;
@@ -1110,7 +1110,7 @@ public class GameAction {
if (c.getCounters(CounterType.LOYALTY) <= 0) {
moveToGraveyard(c);
// Play the Destroy sound
game.getEvents().post(new CardDestroyedEvent());
game.getEvents().post(new GameEventCardDestroyed());
recheck = true;
}
@@ -1164,7 +1164,7 @@ public class GameAction {
}
recheck = true;
// Play the Destroy sound
game.getEvents().post(new CardDestroyedEvent());
game.getEvents().post(new GameEventCardDestroyed());
}
}
@@ -1179,7 +1179,7 @@ public class GameAction {
this.sacrificeDestroy(c);
// Play the Sacrifice sound
game.getEvents().post(new CardSacrificedEvent());
game.getEvents().post(new GameEventCardSacrificed());
// Run triggers
final HashMap<String, Object> runParams = new HashMap<String, Object>();
@@ -1211,7 +1211,7 @@ public class GameAction {
game.getCombat().removeFromCombat(c);
// Play the Regen sound
game.getEvents().post(new CardRegeneratedEvent());
game.getEvents().post(new GameEventCardRegenerated());
return false;
}
@@ -1263,7 +1263,7 @@ public class GameAction {
card.setDamage(0);
// Play the Destroy sound
game.getEvents().post(new CardDestroyedEvent());
game.getEvents().post(new GameEventCardDestroyed());
}
};
@@ -1280,7 +1280,7 @@ public class GameAction {
}
// Play the Destroy sound
game.getEvents().post(new CardDestroyedEvent());
game.getEvents().post(new GameEventCardDestroyed());
// Run triggers
final HashMap<String, Object> runParams = new HashMap<String, Object>();
runParams.put("Card", c);

View File

@@ -9,10 +9,10 @@ import com.google.common.collect.Lists;
import forge.Card;
import forge.Singletons;
import forge.game.event.CardsAntedEvent;
import forge.game.event.DuelFinishedEvent;
import forge.game.event.DuelOutcomeEvent;
import forge.game.event.FlipCoinEvent;
import forge.game.event.GameEventCardsAnted;
import forge.game.event.GameEventDuelFinished;
import forge.game.event.GameEventDuelOutcome;
import forge.game.event.GameEventFlipCoin;
import forge.game.player.LobbyPlayer;
import forge.game.player.Player;
import forge.properties.ForgePreferences.FPref;
@@ -88,10 +88,10 @@ public class MatchState {
gamesPlayed.add(result);
// The log shall listen to events and generate text internally
game.getEvents().post(new DuelOutcomeEvent(result, gamesPlayedRo));
game.getEvents().post(new GameEventDuelOutcome(result, gamesPlayedRo));
// will pull UI
game.getEvents().post(new DuelFinishedEvent());
game.getEvents().post(new GameEventDuelFinished());
}
@@ -110,7 +110,7 @@ public class MatchState {
if (useAnte) { // Deciding which cards go to ante
List<Pair<Player, Card>> list = GameNew.chooseCardsForAnte(currentGame);
GameNew.moveCardsToAnte(list);
currentGame.getEvents().post(new CardsAntedEvent(list));
currentGame.getEvents().post(new GameEventCardsAnted(list));
}
// This code was run from EDT.
@@ -229,7 +229,7 @@ public class MatchState {
boolean isFirstGame = lastGameOutcome == null;
if (isFirstGame) {
game.getEvents().post(new FlipCoinEvent()); // Play the Flip Coin sound
game.getEvents().post(new GameEventFlipCoin()); // Play the Flip Coin sound
goesFirst = Aggregates.random(game.getPlayers());
} else {
for(Player p : game.getPlayers()) {

View File

@@ -1,4 +0,0 @@
package forge.game.event;
public class BlockerAssignedEvent extends Event {
}

View File

@@ -1,4 +0,0 @@
package forge.game.event;
public class CardDamagedEvent extends Event {
}

View File

@@ -1,4 +0,0 @@
package forge.game.event;
public class CardDestroyedEvent extends Event {
}

View File

@@ -1,4 +0,0 @@
package forge.game.event;
public class CardDiscardedEvent extends Event {
}

View File

@@ -1,4 +0,0 @@
package forge.game.event;
public class CardEquippedEvent extends Event {
}

View File

@@ -1,4 +0,0 @@
package forge.game.event;
public class CardRegeneratedEvent extends Event {
}

View File

@@ -1,4 +0,0 @@
package forge.game.event;
public class CardSacrificedEvent extends Event {
}

View File

@@ -1,9 +0,0 @@
package forge.game.event;
public class CounterAddedEvent extends Event {
public final int Amount;
public CounterAddedEvent(int n) {
Amount = n;
}
}

View File

@@ -1,13 +0,0 @@
package forge.game.event;
/**
*
*
*/
public class CounterRemovedEvent extends Event {
public final int Amount;
public CounterRemovedEvent(int n) {
Amount = n;
}
}

View File

@@ -1,4 +0,0 @@
package forge.game.event;
public class DrawCardEvent extends Event {
}

View File

@@ -1,3 +0,0 @@
package forge.game.event;
public class DuelFinishedEvent extends Event {} // need this class to launch after log was built via previous event

View File

@@ -1,4 +0,0 @@
package forge.game.event;
public class EndOfTurnEvent extends Event {
}

View File

@@ -1,5 +0,0 @@
package forge.game.event;
public abstract class Event {
}

View File

@@ -1,4 +0,0 @@
package forge.game.event;
public class FlipCoinEvent extends Event {
}

View File

@@ -0,0 +1,5 @@
package forge.game.event;
public abstract class GameEvent {
}

View File

@@ -0,0 +1,4 @@
package forge.game.event;
public class GameEventBlockerAssigned extends GameEvent {
}

View File

@@ -0,0 +1,4 @@
package forge.game.event;
public class GameEventCardDamaged extends GameEvent {
}

View File

@@ -0,0 +1,4 @@
package forge.game.event;
public class GameEventCardDestroyed extends GameEvent {
}

View File

@@ -0,0 +1,4 @@
package forge.game.event;
public class GameEventCardDiscarded extends GameEvent {
}

View File

@@ -0,0 +1,4 @@
package forge.game.event;
public class GameEventCardEquipped extends GameEvent {
}

View File

@@ -0,0 +1,4 @@
package forge.game.event;
public class GameEventCardRegenerated extends GameEvent {
}

View File

@@ -0,0 +1,4 @@
package forge.game.event;
public class GameEventCardSacrificed extends GameEvent {
}

View File

@@ -0,0 +1,9 @@
package forge.game.event;
public class GameEventCardTapped extends GameEvent {
public final boolean Tapped;
public GameEventCardTapped(boolean tapped) {
Tapped = tapped;
}
}

View File

@@ -5,9 +5,9 @@ import org.apache.commons.lang3.tuple.Pair;
import forge.Card;
import forge.game.player.Player;
public class CardsAntedEvent extends Event {
public class GameEventCardsAnted extends GameEvent {
public final Iterable<Pair<Player,Card>> cards;
public CardsAntedEvent(Iterable<Pair<Player,Card>> cardz) {
public GameEventCardsAnted(Iterable<Pair<Player,Card>> cardz) {
cards = cardz;
}
}

View File

@@ -0,0 +1,9 @@
package forge.game.event;
public class GameEventCounterAdded extends GameEvent {
public final int Amount;
public GameEventCounterAdded(int n) {
Amount = n;
}
}

View File

@@ -0,0 +1,13 @@
package forge.game.event;
/**
*
*
*/
public class GameEventCounterRemoved extends GameEvent {
public final int Amount;
public GameEventCounterRemoved(int n) {
Amount = n;
}
}

View File

@@ -0,0 +1,4 @@
package forge.game.event;
public class GameEventDrawCard extends GameEvent {
}

View File

@@ -0,0 +1,3 @@
package forge.game.event;
public class GameEventDuelFinished extends GameEvent {} // need this class to launch after log was built via previous event

View File

@@ -4,11 +4,11 @@ import java.util.List;
import forge.game.GameOutcome;
public class DuelOutcomeEvent extends Event {
public class GameEventDuelOutcome extends GameEvent {
public final GameOutcome result;
public final List<GameOutcome> history;
public DuelOutcomeEvent(GameOutcome lastOne, List<GameOutcome> history) {
public GameEventDuelOutcome(GameOutcome lastOne, List<GameOutcome> history) {
this.result = lastOne;
this.history = history;
}

View File

@@ -0,0 +1,4 @@
package forge.game.event;
public class GameEventEndOfTurn extends GameEvent {
}

View File

@@ -0,0 +1,4 @@
package forge.game.event;
public class GameEventFlipCoin extends GameEvent {
}

View File

@@ -6,11 +6,11 @@ import forge.game.player.Player;
* TODO: Write javadoc for this type.
*
*/
public class GameRestartedEvent extends Event {
public class GameEventGameRestarted extends GameEvent {
public final Player whoRestarted;
public GameRestartedEvent(Player playerTurn) {
public GameEventGameRestarted(Player playerTurn) {
whoRestarted = playerTurn;
}

View File

@@ -3,12 +3,12 @@ package forge.game.event;
import forge.Card;
import forge.game.player.Player;
public class LandPlayedEvent extends Event {
public class GameEventLandPlayed extends GameEvent {
public final Player Player;
public final Card Land;
public LandPlayedEvent(Player player, Card land) {
public GameEventLandPlayed(Player player, Card land) {
Player = player;
Land = land;

View File

@@ -0,0 +1,4 @@
package forge.game.event;
public class GameEventLifeLoss extends GameEvent {
}

View File

@@ -0,0 +1,4 @@
package forge.game.event;
public class GameEventManaBurn extends GameEvent {
}

View File

@@ -6,10 +6,10 @@ import forge.game.player.Player;
* TODO: Write javadoc for this type.
*
*/
public class MulliganEvent extends Event {
public class GameEventMulligan extends GameEvent {
public final Player player;
public MulliganEvent(Player p) {
public GameEventMulligan(Player p) {
player = p;
}
}

View File

@@ -0,0 +1,16 @@
package forge.game.event;
import forge.game.player.LobbyPlayer;
import forge.game.player.Player;
public class GameEventPlayerControl extends GameEvent {
public final Player player;
public final LobbyPlayer oldController;
public final LobbyPlayer newController;
public GameEventPlayerControl(Player p, LobbyPlayer old, LobbyPlayer new1) {
player = p;
oldController = old;
newController = new1;
}
}

View File

@@ -7,18 +7,18 @@ import forge.game.player.Player;
*
*
*/
public class PoisonCounterEvent extends Event {
public class GameEventPoisonCounter extends GameEvent {
public final Player Receiver;
public final Card Source;
public final int Amount;
public PoisonCounterEvent(Player recv, Card src, int n) {
public GameEventPoisonCounter(Player recv, Card src, int n) {
Receiver = recv;
Source = src;
Amount = n;
}
public PoisonCounterEvent(Player recv, Card src) {
public GameEventPoisonCounter(Player recv, Card src) {
this(recv, src, 1);
}
}

View File

@@ -0,0 +1,4 @@
package forge.game.event;
public class GameEventShuffle extends GameEvent {
}

View File

@@ -7,7 +7,7 @@ import forge.card.spellability.SpellAbility;
* TODO: Write javadoc for this type.
*
*/
public class SpellResolvedEvent extends Event {
public class GameEventSpellResolved extends GameEvent {
public final Card Source;
public final SpellAbility Spell;
@@ -17,7 +17,7 @@ public class SpellResolvedEvent extends Event {
* @param source
* @param sa
*/
public SpellResolvedEvent(Card source, SpellAbility sa) {
public GameEventSpellResolved(Card source, SpellAbility sa) {
// TODO Auto-generated constructor stub
Source = source;
Spell = sa;

View File

@@ -0,0 +1,4 @@
package forge.game.event;
public class GameEventTokenCreated extends GameEvent {
}

View File

@@ -7,13 +7,13 @@ import forge.game.player.Player;
* TODO: Write javadoc for this type.
*
*/
public class PhaseEvent extends Event {
public class GameEventTurnPhase extends GameEvent {
public final Player playerTurn;
public final PhaseType phase;
public final String phaseDesc;
public PhaseEvent(Player player, PhaseType ph, String desc) {
public GameEventTurnPhase(Player player, PhaseType ph, String desc) {
playerTurn = player;
phase = ph;
phaseDesc = desc;

View File

@@ -1,4 +0,0 @@
package forge.game.event;
public class LifeLossEvent extends Event {
}

View File

@@ -1,4 +0,0 @@
package forge.game.event;
public class ManaBurnEvent extends Event {
}

View File

@@ -1,28 +0,0 @@
package forge.game.event;
import forge.game.player.LobbyPlayer;
import forge.game.player.Player;
public class PlayerControlEvent extends Event {
private final Player player;
private final LobbyPlayer oldController;
private final LobbyPlayer newController;
public PlayerControlEvent(Player p, LobbyPlayer old, LobbyPlayer new1) {
player = p;
oldController = old;
newController = new1;
}
public final Player getPlayer() {
return player;
}
public final LobbyPlayer getOldController() {
return oldController;
}
public final LobbyPlayer getNewController() {
return newController;
}
}

View File

@@ -1,9 +0,0 @@
package forge.game.event;
public class SetTappedEvent extends Event {
public final boolean Tapped;
public SetTappedEvent(boolean tapped) {
Tapped = tapped;
}
}

View File

@@ -1,4 +0,0 @@
package forge.game.event;
public class ShuffleEvent extends Event {
}

View File

@@ -1,4 +0,0 @@
package forge.game.event;
public class TokenCreatedEvent extends Event {
}

View File

@@ -33,7 +33,7 @@ import forge.CardLists;
import forge.CardPredicates;
import forge.GameEntity;
import forge.card.trigger.TriggerType;
import forge.game.event.BlockerAssignedEvent;
import forge.game.event.GameEventBlockerAssigned;
import forge.game.player.Player;
import forge.game.zone.ZoneType;
@@ -374,7 +374,7 @@ public class Combat {
} else {
this.blockerMap.get(blocker).add(attacker);
}
attacker.getGame().getEvents().post(new BlockerAssignedEvent());
attacker.getGame().getEvents().post(new GameEventBlockerAssigned());
}
public final void removeBlockAssignment(final Card attacker, final Card blocker) {

View File

@@ -33,10 +33,10 @@ import forge.card.trigger.TriggerType;
import forge.game.GameAge;
import forge.game.GameState;
import forge.game.GameType;
import forge.game.event.EndOfTurnEvent;
import forge.game.event.GameRestartedEvent;
import forge.game.event.ManaBurnEvent;
import forge.game.event.PhaseEvent;
import forge.game.event.GameEventEndOfTurn;
import forge.game.event.GameEventGameRestarted;
import forge.game.event.GameEventManaBurn;
import forge.game.event.GameEventTurnPhase;
import forge.game.player.Player;
import forge.game.zone.ZoneType;
import forge.gui.framework.SDisplayUtil;
@@ -200,7 +200,7 @@ public class PhaseHandler extends MyObservable implements java.io.Serializable {
game.getGameLog().add(GameEventType.TURN, "Turn " + this.turn + " (" + this.getPlayerTurn() + ")");
}
game.getEvents().post(new PhaseEvent(this.getPlayerTurn(), this.getPhase(), phaseType));
game.getEvents().post(new GameEventTurnPhase(this.getPlayerTurn(), this.getPhase(), phaseType));
}
@@ -393,7 +393,7 @@ public class PhaseHandler extends MyObservable implements java.io.Serializable {
p.loseLife(burn);
// Play the Mana Burn sound
game.getEvents().post(new ManaBurnEvent());
game.getEvents().post(new GameEventManaBurn());
}
p.updateObservers();
}
@@ -426,7 +426,7 @@ public class PhaseHandler extends MyObservable implements java.io.Serializable {
}
this.planarDiceRolledthisTurn = 0;
// Play the End Turn sound
game.getEvents().post(new EndOfTurnEvent());
game.getEvents().post(new GameEventEndOfTurn());
break;
default: // no action
}
@@ -716,7 +716,7 @@ public class PhaseHandler extends MyObservable implements java.io.Serializable {
// If ever the karn's ultimate resolved
if( game.getAge() == GameAge.RestartedByKarn) {
phase = null;
game.getEvents().post(new GameRestartedEvent(playerTurn));
game.getEvents().post(new GameEventGameRestarted(playerTurn));
return;
}

View File

@@ -57,14 +57,14 @@ import forge.card.trigger.TriggerType;
import forge.game.GameActionUtil;
import forge.game.GameState;
import forge.game.GlobalRuleChange;
import forge.game.event.CardDiscardedEvent;
import forge.game.event.DrawCardEvent;
import forge.game.event.LandPlayedEvent;
import forge.game.event.LifeLossEvent;
import forge.game.event.MulliganEvent;
import forge.game.event.PlayerControlEvent;
import forge.game.event.PoisonCounterEvent;
import forge.game.event.ShuffleEvent;
import forge.game.event.GameEventCardDiscarded;
import forge.game.event.GameEventDrawCard;
import forge.game.event.GameEventLandPlayed;
import forge.game.event.GameEventLifeLoss;
import forge.game.event.GameEventMulligan;
import forge.game.event.GameEventPlayerControl;
import forge.game.event.GameEventPoisonCounter;
import forge.game.event.GameEventShuffle;
import forge.game.phase.PhaseHandler;
import forge.game.phase.PhaseType;
import forge.game.zone.PlayerZone;
@@ -509,7 +509,7 @@ public class Player extends GameEntity implements Comparable<Player> {
if (toLose > 0) {
this.subtractLife(toLose);
lifeLost = toLose;
game.getEvents().post(new LifeLossEvent());
game.getEvents().post(new GameEventLifeLoss());
this.updateObservers();
} else if (toLose == 0) {
// Rule 118.4
@@ -656,7 +656,7 @@ public class Player extends GameEntity implements Comparable<Player> {
source.getController().gainLife(damageToDo, source);
}
source.getDamageHistory().registerDamage(this);
this.getGame().getEvents().post(new LifeLossEvent());
this.getGame().getEvents().post(new GameEventLifeLoss());
if (isCombat) {
final ArrayList<String> types = source.getType();
@@ -1020,7 +1020,7 @@ public class Player extends GameEntity implements Comparable<Player> {
if (!this.hasKeyword("You can't get poison counters")) {
this.poisonCounters += num;
game.getEvents().post(new PoisonCounterEvent(this, source, num));
game.getEvents().post(new GameEventPoisonCounter(this, source, num));
game.getGameLog().add(GameEventType.DAMAGE_POISON, this + " receives a poison counter from " + source);
this.updateObservers();
@@ -1267,7 +1267,7 @@ public class Player extends GameEntity implements Comparable<Player> {
}
// Play the Draw sound
game.getEvents().post(new DrawCardEvent());
game.getEvents().post(new GameEventDrawCard());
return drawn;
}
@@ -1605,13 +1605,13 @@ public class Player extends GameEntity implements Comparable<Player> {
if (discardToTopOfLibrary) {
game.getAction().moveToLibrary(c, 0);
// Play the Discard sound
game.getEvents().post(new CardDiscardedEvent());
game.getEvents().post(new GameEventCardDiscarded());
this.numDiscardedThisTurn++;
} else {
game.getAction().moveToGraveyard(c);
// Play the Discard sound
game.getEvents().post(new CardDiscardedEvent());
game.getEvents().post(new GameEventCardDiscarded());
this.numDiscardedThisTurn++;
}
@@ -1738,7 +1738,7 @@ public class Player extends GameEntity implements Comparable<Player> {
game.getTriggerHandler().runTrigger(TriggerType.Shuffled, runParams, false);
// Play the shuffle sound
game.getEvents().post(new ShuffleEvent());
game.getEvents().post(new GameEventShuffle());
} // shuffle
// //////////////////////////////
@@ -1771,7 +1771,7 @@ public class Player extends GameEntity implements Comparable<Player> {
game.getGameLog().add(GameEventType.LAND, this + " played " + land);
// play a sound
game.getEvents().post(new LandPlayedEvent(this, land));
game.getEvents().post(new GameEventLandPlayed(this, land));
// Run triggers
final HashMap<String, Object> runParams = new HashMap<String, Object>();
@@ -2719,13 +2719,13 @@ public class Player extends GameEntity implements Comparable<Player> {
public final void releaseControl() {
controller = controllerCreator;
game.getEvents().post(new PlayerControlEvent(this, getLobbyPlayer(), null));
game.getEvents().post(new GameEventPlayerControl(this, getLobbyPlayer(), null));
}
public final void obeyNewMaster(PlayerController pc) {
LobbyPlayer oldController = getLobbyPlayer();
controller = pc;
game.getEvents().post(new PlayerControlEvent(this, oldController, pc.getLobbyPlayer()));
game.getEvents().post(new GameEventPlayerControl(this, oldController, pc.getLobbyPlayer()));
}
@@ -3126,7 +3126,7 @@ public class Player extends GameEntity implements Comparable<Player> {
* TODO: Write javadoc for this method.
*/
public void onMulliganned() {
game.getEvents().post(new MulliganEvent(this)); // quest listener may interfere here
game.getEvents().post(new GameEventMulligan(this)); // quest listener may interfere here
final int newHand = getCardsIn(ZoneType.Hand).size();
game.getGameLog().add(GameEventType.MULLIGAN, this + " has mulliganed down to " + newHand + " cards.");
stats.notifyHasMulliganed();

View File

@@ -58,7 +58,7 @@ import forge.game.GameState;
import forge.game.ai.ComputerUtil;
import forge.game.ai.ComputerUtilCard;
import forge.game.ai.ComputerUtilCost;
import forge.game.event.SpellResolvedEvent;
import forge.game.event.GameEventSpellResolved;
import forge.game.player.HumanPlay;
import forge.game.player.Player;
import forge.gui.GuiChoose;
@@ -617,7 +617,7 @@ public class MagicStack extends MyObservable implements Iterable<SpellAbilitySta
}
sa.getSourceCard().setXManaCostPaid(0);
game.getEvents().post(new SpellResolvedEvent(source, sa));
game.getEvents().post(new GameEventSpellResolved(source, sa));
if (source.hasStartOfKeyword("Haunt") && !source.isCreature()
&& game.getZoneOf(source).is(ZoneType.Graveyard)) {

View File

@@ -10,7 +10,7 @@ import org.apache.commons.lang3.StringUtils;
import forge.Card;
import forge.FThreads;
import forge.game.event.FlipCoinEvent;
import forge.game.event.GameEventFlipCoin;
import forge.game.player.Player;
import forge.gui.match.CMatchUI;
import forge.util.MyRandom;
@@ -100,7 +100,7 @@ public class GuiDialog {
final String winMsg = winFlip ? " wins flip." : " loses flip.";
// Play the Flip A Coin sound
caller.getGame().getEvents().post(new FlipCoinEvent());
caller.getGame().getEvents().post(new GameEventFlipCoin());
JOptionPane.showMessageDialog(null, source.getName() + " - " + caller + winMsg, source.getName(),
JOptionPane.PLAIN_MESSAGE);

View File

@@ -29,8 +29,8 @@ import com.google.common.eventbus.Subscribe;
import forge.Singletons;
import forge.deck.Deck;
import forge.game.GameFormat;
import forge.game.event.Event;
import forge.game.event.MulliganEvent;
import forge.game.event.GameEvent;
import forge.game.event.GameEventMulligan;
import forge.item.CardPrinted;
import forge.item.PreconDeck;
import forge.properties.NewConstants;
@@ -426,9 +426,9 @@ public class QuestController {
}
@Subscribe
public void receiveGameEvent(Event ev) { // Receives events only during quest games
if ( ev instanceof MulliganEvent ) {
MulliganEvent mev = (MulliganEvent)ev;
public void receiveGameEvent(GameEvent ev) { // Receives events only during quest games
if ( ev instanceof GameEventMulligan ) {
GameEventMulligan mev = (GameEventMulligan)ev;
// First mulligan is free
if (mev.player.getLobbyPlayer() == Singletons.getControl().getLobby().getQuestPlayer()
&& getAssets().hasItem(QuestItemType.SLEIGHT) && mev.player.getStats().getMulliganCount() == 0) {

View File

@@ -7,27 +7,27 @@ import java.util.Map;
import forge.Card;
import forge.Singletons;
import forge.card.spellability.SpellAbility;
import forge.game.event.BlockerAssignedEvent;
import forge.game.event.CardDamagedEvent;
import forge.game.event.CardDestroyedEvent;
import forge.game.event.CardDiscardedEvent;
import forge.game.event.CardEquippedEvent;
import forge.game.event.CardRegeneratedEvent;
import forge.game.event.CardSacrificedEvent;
import forge.game.event.CounterAddedEvent;
import forge.game.event.CounterRemovedEvent;
import forge.game.event.DrawCardEvent;
import forge.game.event.DuelOutcomeEvent;
import forge.game.event.EndOfTurnEvent;
import forge.game.event.Event;
import forge.game.event.FlipCoinEvent;
import forge.game.event.LandPlayedEvent;
import forge.game.event.LifeLossEvent;
import forge.game.event.PoisonCounterEvent;
import forge.game.event.SetTappedEvent;
import forge.game.event.ShuffleEvent;
import forge.game.event.SpellResolvedEvent;
import forge.game.event.TokenCreatedEvent;
import forge.game.event.GameEventBlockerAssigned;
import forge.game.event.GameEventCardDamaged;
import forge.game.event.GameEventCardDestroyed;
import forge.game.event.GameEventCardDiscarded;
import forge.game.event.GameEventCardEquipped;
import forge.game.event.GameEventCardRegenerated;
import forge.game.event.GameEventCardSacrificed;
import forge.game.event.GameEventCounterAdded;
import forge.game.event.GameEventCounterRemoved;
import forge.game.event.GameEventDrawCard;
import forge.game.event.GameEventDuelOutcome;
import forge.game.event.GameEventEndOfTurn;
import forge.game.event.GameEvent;
import forge.game.event.GameEventFlipCoin;
import forge.game.event.GameEventLandPlayed;
import forge.game.event.GameEventLifeLoss;
import forge.game.event.GameEventPoisonCounter;
import forge.game.event.GameEventCardTapped;
import forge.game.event.GameEventShuffle;
import forge.game.event.GameEventSpellResolved;
import forge.game.event.GameEventTokenCreated;
/**
* This class is in charge of converting any forge.game.event.Event to a SoundEffectType.
@@ -38,50 +38,50 @@ public class EventVisualizer {
static final Map<Class<?>, SoundEffectType> matchTable = new HashMap<Class<?>, SoundEffectType>();
public EventVisualizer() {
matchTable.put(CounterAddedEvent.class, SoundEffectType.AddCounter);
matchTable.put(BlockerAssignedEvent.class, SoundEffectType.Block);
matchTable.put(CardDamagedEvent.class, SoundEffectType.Damage);
matchTable.put(CardDestroyedEvent.class, SoundEffectType.Destroy);
matchTable.put(CardDiscardedEvent.class, SoundEffectType.Discard);
matchTable.put(DrawCardEvent.class, SoundEffectType.Draw);
matchTable.put(EndOfTurnEvent.class, SoundEffectType.EndOfTurn);
matchTable.put(CardEquippedEvent.class, SoundEffectType.Equip);
matchTable.put(FlipCoinEvent.class, SoundEffectType.FlipCoin);
matchTable.put(LifeLossEvent.class, SoundEffectType.LifeLoss);
matchTable.put(PoisonCounterEvent.class, SoundEffectType.Poison);
matchTable.put(CardRegeneratedEvent.class, SoundEffectType.Regen);
matchTable.put(CounterRemovedEvent.class, SoundEffectType.RemoveCounter);
matchTable.put(CardSacrificedEvent.class, SoundEffectType.Sacrifice);
matchTable.put(ShuffleEvent.class, SoundEffectType.Shuffle);
matchTable.put(TokenCreatedEvent.class, SoundEffectType.Token);
matchTable.put(GameEventCounterAdded.class, SoundEffectType.AddCounter);
matchTable.put(GameEventBlockerAssigned.class, SoundEffectType.Block);
matchTable.put(GameEventCardDamaged.class, SoundEffectType.Damage);
matchTable.put(GameEventCardDestroyed.class, SoundEffectType.Destroy);
matchTable.put(GameEventCardDiscarded.class, SoundEffectType.Discard);
matchTable.put(GameEventDrawCard.class, SoundEffectType.Draw);
matchTable.put(GameEventEndOfTurn.class, SoundEffectType.EndOfTurn);
matchTable.put(GameEventCardEquipped.class, SoundEffectType.Equip);
matchTable.put(GameEventFlipCoin.class, SoundEffectType.FlipCoin);
matchTable.put(GameEventLifeLoss.class, SoundEffectType.LifeLoss);
matchTable.put(GameEventPoisonCounter.class, SoundEffectType.Poison);
matchTable.put(GameEventCardRegenerated.class, SoundEffectType.Regen);
matchTable.put(GameEventCounterRemoved.class, SoundEffectType.RemoveCounter);
matchTable.put(GameEventCardSacrificed.class, SoundEffectType.Sacrifice);
matchTable.put(GameEventShuffle.class, SoundEffectType.Shuffle);
matchTable.put(GameEventTokenCreated.class, SoundEffectType.Token);
}
public final SoundEffectType getSoundForEvent(Event evt) {
public final SoundEffectType getSoundForEvent(GameEvent evt) {
SoundEffectType fromMap = matchTable.get(evt.getClass());
// call methods copied from Utils here
if (evt instanceof SpellResolvedEvent) {
return getSoundEffectForResolve(((SpellResolvedEvent) evt).Source, ((SpellResolvedEvent) evt).Spell);
if (evt instanceof GameEventSpellResolved) {
return getSoundEffectForResolve(((GameEventSpellResolved) evt).Source, ((GameEventSpellResolved) evt).Spell);
}
if (evt instanceof LandPlayedEvent) {
return getSoundEffectForLand(((LandPlayedEvent) evt).Land);
if (evt instanceof GameEventLandPlayed) {
return getSoundEffectForLand(((GameEventLandPlayed) evt).Land);
}
if (evt instanceof CounterAddedEvent) {
if (((CounterAddedEvent) evt).Amount == 0) {
if (evt instanceof GameEventCounterAdded) {
if (((GameEventCounterAdded) evt).Amount == 0) {
return null;
}
}
if (evt instanceof CounterRemovedEvent) {
if (((CounterRemovedEvent) evt).Amount == 0) {
if (evt instanceof GameEventCounterRemoved) {
if (((GameEventCounterRemoved) evt).Amount == 0) {
return null;
}
}
if (evt instanceof SetTappedEvent) {
return getSoundEffectForTapState(((SetTappedEvent) evt).Tapped);
if (evt instanceof GameEventCardTapped) {
return getSoundEffectForTapState(((GameEventCardTapped) evt).Tapped);
}
if (evt instanceof DuelOutcomeEvent) {
return getSoundEffectForDuelOutcome(((DuelOutcomeEvent) evt).result.getWinner() == Singletons.getControl().getLobby().getGuiPlayer());
if (evt instanceof GameEventDuelOutcome) {
return getSoundEffectForDuelOutcome(((GameEventDuelOutcome) evt).result.getWinner() == Singletons.getControl().getLobby().getGuiPlayer());
}
return fromMap;
@@ -217,13 +217,13 @@ public class EventVisualizer {
* @return a string containing the SoundEffect SVar, or empty string if
* SVar:SoundEffect does not exist.
*/
public String getScriptedSoundEffectName(Event evt) {
public String getScriptedSoundEffectName(GameEvent evt) {
Card c = null;
if (evt instanceof SpellResolvedEvent) {
c = ((SpellResolvedEvent) evt).Source;
} else if (evt instanceof LandPlayedEvent) {
c = ((LandPlayedEvent) evt).Land;
if (evt instanceof GameEventSpellResolved) {
c = ((GameEventSpellResolved) evt).Source;
} else if (evt instanceof GameEventLandPlayed) {
c = ((GameEventLandPlayed) evt).Land;
}
return c != null ? c.getSVar("SoundEffect") : "";

View File

@@ -7,7 +7,7 @@ import java.util.Map;
import com.google.common.eventbus.Subscribe;
import forge.Singletons;
import forge.game.event.Event;
import forge.game.event.GameEvent;
import forge.properties.ForgePreferences.FPref;
/**
@@ -150,7 +150,7 @@ public class SoundSystem {
}
@Subscribe
public void receiveEvent(Event evt) {
public void receiveEvent(GameEvent evt) {
SoundEffectType effect = visualizer.getSoundForEvent(evt);
if (null == effect) {
return;