'Mulligan' phase removed

This commit is contained in:
Maxmtg
2013-03-07 10:43:43 +00:00
parent 3c017f36d8
commit 0db2f0aeb4
7 changed files with 12 additions and 21 deletions

View File

@@ -148,6 +148,9 @@ public class InputControl extends MyObservable implements java.io.Serializable {
* @return a {@link forge.control.input.Input} object. * @return a {@link forge.control.input.Input} object.
*/ */
public final Input getActualInput() { public final Input getActualInput() {
if ( !game.hasMulliganned() )
return new InputMulligan();
final PhaseHandler handler = game.getPhaseHandler(); final PhaseHandler handler = game.getPhaseHandler();
final PhaseType phase = handler.getPhase(); final PhaseType phase = handler.getPhase();
final Player playerTurn = handler.getPlayerTurn(); final Player playerTurn = handler.getPlayerTurn();

View File

@@ -174,7 +174,6 @@ public class InputMulligan extends Input {
} }
ga.checkStateEffects(); ga.checkStateEffects();
Singletons.getModel().getMatch().getInput().clearInput();
Player next = game.getPhaseHandler().getPlayerTurn(); Player next = game.getPhaseHandler().getPlayerTurn();
@@ -187,7 +186,9 @@ public class InputMulligan extends Input {
VField nextField = CMatchUI.SINGLETON_INSTANCE.getFieldViewFor(next); VField nextField = CMatchUI.SINGLETON_INSTANCE.getFieldViewFor(next);
SDisplayUtil.showTab(nextField); SDisplayUtil.showTab(nextField);
game.getPhaseHandler().nextPhase(); game.setMulliganComplete();
Singletons.getModel().getMatch().getInput().clearInput();
Singletons.getModel().getMatch().getInput().resetInput();
} }
@Override @Override

View File

@@ -23,16 +23,12 @@ import forge.CardUtil;
import forge.Singletons; import forge.Singletons;
import forge.card.trigger.TriggerHandler; import forge.card.trigger.TriggerHandler;
import forge.card.trigger.TriggerType; import forge.card.trigger.TriggerType;
import forge.control.input.Input;
import forge.control.input.InputControl;
import forge.control.input.InputMulligan;
import forge.deck.Deck; import forge.deck.Deck;
import forge.deck.CardPool; import forge.deck.CardPool;
import forge.deck.DeckSection; import forge.deck.DeckSection;
import forge.error.BugReporter; import forge.error.BugReporter;
import forge.game.event.FlipCoinEvent; import forge.game.event.FlipCoinEvent;
import forge.game.phase.PhaseHandler; import forge.game.phase.PhaseHandler;
import forge.game.phase.PhaseType;
import forge.game.player.AIPlayer; import forge.game.player.AIPlayer;
import forge.game.player.LobbyPlayer; import forge.game.player.LobbyPlayer;
import forge.game.player.Player; import forge.game.player.Player;
@@ -389,18 +385,7 @@ public class GameNew {
p.drawCards(p.getMaxHandSize()); p.drawCards(p.getMaxHandSize());
} }
game.getPhaseHandler().setPhaseState(PhaseType.MULLIGAN);
InputControl control = match.getInput();
Input tmp = new InputMulligan();
control.setInput(tmp);
Thread thGame = new GameInputUpdatesThread(match, game); Thread thGame = new GameInputUpdatesThread(match, game);
match.getInput().getInput().showMessage();
thGame.setName("Game input updater"); thGame.setName("Game input updater");
thGame.start(); thGame.start();
} // newGame() } // newGame()

View File

@@ -666,4 +666,8 @@ public class GameState {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return actionPlay; return actionPlay;
} }
public boolean mulliganned = false;
public boolean hasMulliganned(){ return mulliganned; }
public void setMulliganComplete() { mulliganned = true; }
} }

View File

@@ -52,7 +52,7 @@ public class PhaseHandler extends MyObservable implements java.io.Serializable {
/** Constant <code>serialVersionUID=5207222278370963197L</code>. */ /** Constant <code>serialVersionUID=5207222278370963197L</code>. */
private static final long serialVersionUID = 5207222278370963197L; private static final long serialVersionUID = 5207222278370963197L;
private PhaseType phase = PhaseType.MULLIGAN; private PhaseType phase = PhaseType.UNTAP;
private int turn = 0; private int turn = 0;
// Start turn at 0, so first untap step will turn it to 1 // Start turn at 0, so first untap step will turn it to 1

View File

@@ -9,8 +9,6 @@ import org.apache.commons.lang3.StringUtils;
public enum PhaseType { public enum PhaseType {
MULLIGAN("Mulligan"),
// Note: Mulligan is not part of "All Phases" which are strictly ingame phases
UNTAP("Untap"), UNTAP("Untap"),
UPKEEP("Upkeep"), UPKEEP("Upkeep"),
DRAW("Draw"), DRAW("Draw"),

View File

@@ -52,7 +52,7 @@ public class InputProxy extends MyObservable implements Observer {
* @param in * @param in
* a {@link forge.control.input.Input} object. * a {@link forge.control.input.Input} object.
*/ */
public void setInput(final Input in) { public final void setInput(final Input in) {
valid = true; valid = true;
this.input = in; this.input = in;
this.input.showMessage(); // this call may invalidate the input by the time it returns this.input.showMessage(); // this call may invalidate the input by the time it returns