'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.
*/
public final Input getActualInput() {
if ( !game.hasMulliganned() )
return new InputMulligan();
final PhaseHandler handler = game.getPhaseHandler();
final PhaseType phase = handler.getPhase();
final Player playerTurn = handler.getPlayerTurn();

View File

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

View File

@@ -23,16 +23,12 @@ import forge.CardUtil;
import forge.Singletons;
import forge.card.trigger.TriggerHandler;
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.CardPool;
import forge.deck.DeckSection;
import forge.error.BugReporter;
import forge.game.event.FlipCoinEvent;
import forge.game.phase.PhaseHandler;
import forge.game.phase.PhaseType;
import forge.game.player.AIPlayer;
import forge.game.player.LobbyPlayer;
import forge.game.player.Player;
@@ -389,18 +385,7 @@ public class GameNew {
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);
match.getInput().getInput().showMessage();
thGame.setName("Game input updater");
thGame.start();
} // newGame()

View File

@@ -666,4 +666,8 @@ public class GameState {
// TODO Auto-generated method stub
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>. */
private static final long serialVersionUID = 5207222278370963197L;
private PhaseType phase = PhaseType.MULLIGAN;
private PhaseType phase = PhaseType.UNTAP;
private int turn = 0;
// 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 {
MULLIGAN("Mulligan"),
// Note: Mulligan is not part of "All Phases" which are strictly ingame phases
UNTAP("Untap"),
UPKEEP("Upkeep"),
DRAW("Draw"),

View File

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