Man kann den Timer einstellen
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@391 72836036-5685-4462-b002-a69064685172
This commit is contained in:
parent
45d5b3ae10
commit
8c2e4a7d59
9 changed files with 80 additions and 39 deletions
|
@ -121,6 +121,14 @@ public class SettingsControl {
|
|||
update();
|
||||
}
|
||||
}));
|
||||
connections.add(view.getSettingsPanel().getChangeTimeEvent()
|
||||
.add(new IListener1<Integer>() {
|
||||
@Override
|
||||
public void handle(Integer value) {
|
||||
settings.setTime(value);
|
||||
update();
|
||||
}
|
||||
}));
|
||||
connections.add(view.getSettingsPanel().getChangeStoneColorsEvent()
|
||||
.add(new IListener1<Set<StoneColor>>() {
|
||||
@Override
|
||||
|
|
|
@ -14,7 +14,8 @@ import jrummikub.view.IView;
|
|||
*/
|
||||
public class TurnTimer implements ActionListener, ITurnTimer {
|
||||
private IView view;
|
||||
private int timeLeft = 60;
|
||||
private int timeLeft;
|
||||
private int totalTime;
|
||||
private Timer timer;
|
||||
private Event timeRunOutEvent = new Event();
|
||||
|
||||
|
@ -24,12 +25,14 @@ public class TurnTimer implements ActionListener, ITurnTimer {
|
|||
* @param view
|
||||
* view to display
|
||||
*/
|
||||
public TurnTimer(IView view) {
|
||||
public TurnTimer(IView view, int totalTime) {
|
||||
this.view = view;
|
||||
timeLeft = totalTime;
|
||||
this.totalTime = totalTime;
|
||||
timer = new Timer(1000, this);
|
||||
timer.setRepeats(true);
|
||||
timer.setCoalesce(false);
|
||||
view.getPlayerPanel().setTimeLeft(timeLeft);
|
||||
view.getPlayerPanel().setTime(timeLeft, totalTime);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -45,7 +48,7 @@ public class TurnTimer implements ActionListener, ITurnTimer {
|
|||
@Override
|
||||
public void actionPerformed(ActionEvent arg0) {
|
||||
timeLeft--;
|
||||
view.getPlayerPanel().setTimeLeft(timeLeft);
|
||||
view.getPlayerPanel().setTime(timeLeft, totalTime);
|
||||
if (timeLeft == 0) {
|
||||
timer.stop();
|
||||
timeRunOutEvent.emit();
|
||||
|
|
|
@ -52,7 +52,7 @@ public abstract class AbstractTurnControl implements ITurnControl {
|
|||
this.settings = settings;
|
||||
this.view = view;
|
||||
if (timer == null) {
|
||||
timer = new TurnTimer(view);
|
||||
timer = new TurnTimer(view, settings.getTime());
|
||||
}
|
||||
connections.add(timer.getTimeRunOutEvent().add(new IListener() {
|
||||
@Override
|
||||
|
|
Reference in a new issue