From 1b6317c8412c1ccbf35d3d1b81f0cceed2232610 Mon Sep 17 00:00:00 2001 From: Maxmtg Date: Tue, 26 Mar 2013 20:19:12 +0000 Subject: [PATCH] battlefield will be updated after any mana ability was played --- src/main/java/forge/control/input/InputLockUI.java | 1 - src/main/java/forge/control/input/InputPayManaBase.java | 4 +++- src/main/java/forge/gui/match/nonsingleton/CField.java | 5 ++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/forge/control/input/InputLockUI.java b/src/main/java/forge/control/input/InputLockUI.java index c5a23d16ede..6ee7944c2c7 100644 --- a/src/main/java/forge/control/input/InputLockUI.java +++ b/src/main/java/forge/control/input/InputLockUI.java @@ -1,6 +1,5 @@ package forge.control.input; -import forge.gui.match.CMatchUI; import forge.view.ButtonUtil; /** diff --git a/src/main/java/forge/control/input/InputPayManaBase.java b/src/main/java/forge/control/input/InputPayManaBase.java index 1810285ac3b..29d43729c83 100644 --- a/src/main/java/forge/control/input/InputPayManaBase.java +++ b/src/main/java/forge/control/input/InputPayManaBase.java @@ -306,7 +306,9 @@ public abstract class InputPayManaBase extends InputSyncronizedBase implements I if ( saPaymentSrc != null) // null comes when they've paid from pool this.manaCost = whoPays.getManaPool().payManaFromAbility(saPaidFor, manaCost, saPaymentSrc); - onManaAbilityPaid(); + onManaAbilityPaid(); + if ( saPaymentSrc != null ) + whoPays.getZone(ZoneType.Battlefield).updateObservers(); } protected final void checkIfAlredyPaid() { diff --git a/src/main/java/forge/gui/match/nonsingleton/CField.java b/src/main/java/forge/gui/match/nonsingleton/CField.java index 4d028a58076..71f65f6bddd 100644 --- a/src/main/java/forge/gui/match/nonsingleton/CField.java +++ b/src/main/java/forge/gui/match/nonsingleton/CField.java @@ -42,7 +42,6 @@ import forge.control.input.Input; import forge.control.input.InputAttack; import forge.control.input.InputBlock; import forge.control.input.InputPayManaBase; -import forge.game.GameState; import forge.game.phase.CombatUtil; import forge.game.player.Player; import forge.game.zone.PlayerZone; @@ -143,6 +142,7 @@ public class CField implements ICDoc { private final Observer observerPlay = new Observer() { @Override public void update(final Observable a, final Object b) { + //FThreads.checkEDT("observerPlay.update", true); CField.this.view.getTabletop().setupPlayZone(); } }; @@ -343,8 +343,7 @@ public class CField implements ICDoc { if ( CField.this.player != CField.this.playerViewer ) return; - final GameState game = Singletons.getModel().getGame(); - final SpellAbility ab = player.getController().getAbilityToPlay(game.getAbilitesOfCard(c, player)); + final SpellAbility ab = player.getController().getAbilityToPlay(player.getGame().getAbilitesOfCard(c, player)); if ( null != ab) { FThreads.invokeInNewThread(new Runnable(){ @Override public void run(){ player.playSpellAbility(c, ab);