forked from External/mage
51 lines
1.2 KiB
Java
51 lines
1.2 KiB
Java
|
|
|
|
package mage.game.turn;
|
|
|
|
import mage.constants.TurnPhase;
|
|
import mage.game.Game;
|
|
import mage.game.events.GameEvent.EventType;
|
|
|
|
import java.util.UUID;
|
|
|
|
/**
|
|
* @author BetaSteward_at_googlemail.com
|
|
*/
|
|
public class BeginningPhase extends Phase {
|
|
|
|
private final boolean isExtra;
|
|
|
|
public BeginningPhase() {
|
|
this(false);
|
|
}
|
|
|
|
public BeginningPhase(boolean isExtra) {
|
|
this.type = TurnPhase.BEGINNING;
|
|
this.event = EventType.BEGINNING_PHASE;
|
|
this.preEvent = EventType.BEGINNING_PHASE_PRE;
|
|
this.postEvent = EventType.BEGINNING_PHASE_POST;
|
|
this.steps.add(new UntapStep());
|
|
this.steps.add(new UpkeepStep());
|
|
this.steps.add(new DrawStep());
|
|
this.isExtra = isExtra;
|
|
}
|
|
|
|
@Override
|
|
public boolean beginPhase(Game game, UUID activePlayerId) {
|
|
if (!isExtra) {
|
|
game.getBattlefield().beginningOfTurn(game);
|
|
}
|
|
return super.beginPhase(game, activePlayerId);
|
|
}
|
|
|
|
protected BeginningPhase(final BeginningPhase phase) {
|
|
super(phase);
|
|
this.isExtra = phase.isExtra;
|
|
}
|
|
|
|
@Override
|
|
public BeginningPhase copy() {
|
|
return new BeginningPhase(this);
|
|
}
|
|
|
|
}
|