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); } }