Disable pause function in network mode

git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@536 72836036-5685-4462-b002-a69064685172
This commit is contained in:
Matthias Schiffer 2011-06-21 03:52:25 +02:00
parent 9b5f3648ed
commit b62babba45
9 changed files with 117 additions and 89 deletions

View file

@ -76,6 +76,11 @@ public class RoundControl {
private Event1<Score> endOfRoundEvent = new Event1<Score>();
protected List<Connection> connections = new ArrayList<Connection>();
private boolean roundFinished;
private boolean mayPause;
public RoundControl(IRoundState roundState, IView view) {
this(roundState, view, true);
}
/**
* Create a new RoundControl using the given gameState and view
@ -85,9 +90,10 @@ public class RoundControl {
* @param view
* view used for user interaction
*/
public RoundControl(IRoundState roundState, IView view) {
protected RoundControl(IRoundState roundState, IView view, boolean mayPause) {
this.roundState = roundState;
this.view = view;
this.mayPause = mayPause;
}
/**
@ -221,7 +227,8 @@ public class RoundControl {
view.getPlayerPanel().setEndTurnMode(turnMode);
}
turnControl.setup(new ITurnControl.TurnInfo(roundState, turnMode),
turnControl.setup(
new ITurnControl.TurnInfo(roundState, turnMode, mayPause),
roundState.getGameSettings(), view);
turnControl.getEndOfTurnEvent().add(
new IListener2<IRoundState, InvalidTurnInfo>() {

View file

@ -15,7 +15,7 @@ public class NetworkRoundControl extends RoundControl {
public NetworkRoundControl(IRoundState roundState, IView view,
final IConnectionControl connectionControl, boolean startActive) {
super(roundState, view);
super(roundState, view, false);
this.connectionControl = connectionControl;
currentlyActive = startActive;

View file

@ -53,8 +53,4 @@ public class NetworkTurnControl extends AbstractTurnControl {
@Override
protected void timeOut() {
}
@Override
protected void pauseTurn() {
}
}

View file

@ -59,6 +59,10 @@ public abstract class AbstractTurnControl implements ITurnControl {
}
protected void pauseTurn() {
if (!turnInfo.isMayPause()) {
return;
}
timer.stopTimer();
view.enablePauseMode(true);
}
@ -108,6 +112,8 @@ public abstract class AbstractTurnControl implements ITurnControl {
resumeTurn();
}
}));
view.setMayPause(info.isMayPause());
}
protected void cleanUp() {

View file

@ -73,6 +73,8 @@ public interface ITurnControl {
private TurnMode turnMode;
private boolean mayPause;
/**
* Creates a new TurnInfo instance
*
@ -81,7 +83,7 @@ public interface ITurnControl {
* @param turnMode
* the turn mode
*/
public TurnInfo(IRoundState roundState, TurnMode turnMode) {
public TurnInfo(IRoundState roundState, TurnMode turnMode, boolean mayPause) {
this.roundState = roundState;
oldTable = roundState.getTable();
@ -91,6 +93,8 @@ public interface ITurnControl {
this.hand = (IHand) oldHand.clone();
this.turnMode = turnMode;
this.mayPause = mayPause;
}
public IRoundState getRoundState() {
@ -150,5 +154,9 @@ public interface ITurnControl {
public TurnMode getTurnMode() {
return turnMode;
}
public boolean isMayPause() {
return mayPause;
}
}
}