Added TurnControlFactory
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@308 72836036-5685-4462-b002-a69064685172
This commit is contained in:
parent
73f6fb9c1b
commit
eb7ccb46c5
4 changed files with 86 additions and 15 deletions
|
@ -34,7 +34,7 @@ public class HumanTurnControl extends AbstractTurnControl {
|
|||
private List<Stone> selectedStones = new ArrayList<Stone>();
|
||||
|
||||
private List<Connection> connections = new ArrayList<Connection>();
|
||||
|
||||
|
||||
private boolean inspectOnly;
|
||||
|
||||
/**
|
||||
|
@ -50,7 +50,8 @@ public class HumanTurnControl extends AbstractTurnControl {
|
|||
* @param inspectOnly
|
||||
* the current turn doesn't allow any table manipulation
|
||||
*/
|
||||
public HumanTurnControl(IHand hand, ITable table, IView view, boolean inspectOnly) {
|
||||
public HumanTurnControl(IHand hand, ITable table, IView view,
|
||||
boolean inspectOnly) {
|
||||
this.hand = hand;
|
||||
this.table = table;
|
||||
this.view = view;
|
||||
|
@ -58,6 +59,21 @@ public class HumanTurnControl extends AbstractTurnControl {
|
|||
this.timer = new TurnTimer(view);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a factory for this turn control
|
||||
*
|
||||
* @return factory
|
||||
*/
|
||||
public static TurnControlFactory getFactory() {
|
||||
return new TurnControlFactory() {
|
||||
@Override
|
||||
public ITurnControl create(IHand hand, ITable table, IView view,
|
||||
boolean inspectOnly) {
|
||||
return new HumanTurnControl(hand, table, view, inspectOnly);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
/** Test only constructor **/
|
||||
HumanTurnControl(IHand hand, ITable table, IView view, ITurnTimer testTimer) {
|
||||
this.hand = hand;
|
||||
|
@ -80,13 +96,14 @@ public class HumanTurnControl extends AbstractTurnControl {
|
|||
connections.add(timer.getTimeRunOutEvent().add(endOfTurnListener));
|
||||
connections.add(view.getPlayerPanel().getEndTurnEvent()
|
||||
.add(endOfTurnListener));
|
||||
|
||||
connections.add(view.getPlayerPanel().getRedealEvent().add(new IListener() {
|
||||
@Override
|
||||
public void handle() {
|
||||
endOfTurn(true);
|
||||
}
|
||||
}));
|
||||
|
||||
connections.add(view.getPlayerPanel().getRedealEvent()
|
||||
.add(new IListener() {
|
||||
@Override
|
||||
public void handle() {
|
||||
endOfTurn(true);
|
||||
}
|
||||
}));
|
||||
|
||||
addHandPanelHandlers();
|
||||
addStoneCollectionHandlers();
|
||||
|
|
9
src/jrummikub/control/turn/TurnControlFactory.java
Normal file
9
src/jrummikub/control/turn/TurnControlFactory.java
Normal file
|
@ -0,0 +1,9 @@
|
|||
package jrummikub.control.turn;
|
||||
|
||||
import jrummikub.model.IHand;
|
||||
import jrummikub.model.ITable;
|
||||
import jrummikub.view.IView;
|
||||
|
||||
public interface TurnControlFactory {
|
||||
public ITurnControl create(IHand hand, ITable table, IView view, boolean inspectOnly);
|
||||
}
|
Reference in a new issue