
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@148 72836036-5685-4462-b002-a69064685172
68 lines
1.4 KiB
Java
68 lines
1.4 KiB
Java
package jrummikub.control;
|
|
|
|
import jrummikub.model.IHand;
|
|
import jrummikub.model.ITable;
|
|
import jrummikub.util.Event;
|
|
import jrummikub.util.IEvent;
|
|
import jrummikub.util.IListener;
|
|
import jrummikub.view.IView;
|
|
|
|
public class TurnControl {
|
|
private IHand hand;
|
|
private ITable table;
|
|
private ITurnTimer timer;
|
|
private IView view;
|
|
private Event endOfTurnEvent = new Event();
|
|
IListener endOfTurnListener;
|
|
|
|
public TurnControl(IHand hand, ITable table, IView view) {
|
|
this.hand = hand;
|
|
this.table = table;
|
|
this.view = view;
|
|
this.timer = new TurnTimer(view);
|
|
}
|
|
|
|
/** Test only constructor **/
|
|
TurnControl(IHand hand, ITable table, IView view, ITurnTimer testTimer) {
|
|
this.hand = hand;
|
|
this.table = table;
|
|
this.view = view;
|
|
this.timer = testTimer;
|
|
}
|
|
|
|
public void startTurn() {
|
|
|
|
endOfTurnListener = new IListener() {
|
|
|
|
@Override
|
|
public void handle() {
|
|
endOfTurn();
|
|
}
|
|
};
|
|
timer.getTimeRunOutEvent().add(endOfTurnListener);
|
|
view.getPlayerPanel().getEndTurnEvent().add(endOfTurnListener);
|
|
|
|
view.getPlayerPanel().getHandPanel().setStones(hand.clone());
|
|
view.enableStartTurnPanel(false);
|
|
|
|
timer.startTimer();
|
|
}
|
|
|
|
private void sortByValue() {
|
|
|
|
}
|
|
|
|
private void sortByColor() {
|
|
|
|
}
|
|
|
|
private void endOfTurn() {
|
|
timer.stopTimer();
|
|
endOfTurnEvent.emit();
|
|
view.getPlayerPanel().getEndTurnEvent().remove(endOfTurnListener);
|
|
}
|
|
|
|
public IEvent getEndOfTurnEvent() {
|
|
return endOfTurnEvent;
|
|
}
|
|
}
|