summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/control/TurnTimer.java
diff options
context:
space:
mode:
authorIda Massow <massow@informatik.uni-luebeck.de>2011-05-04 16:49:40 +0200
committerIda Massow <massow@informatik.uni-luebeck.de>2011-05-04 16:49:40 +0200
commit614d0935be71708331c9b1d65f430d6bf5b00777 (patch)
tree626005f6920598877418a9a9479d8a4d11b62b16 /src/jrummikub/control/TurnTimer.java
parent4870017d27c5ed9357e4807ce83a80609b13e14b (diff)
downloadJRummikub-614d0935be71708331c9b1d65f430d6bf5b00777.tar
JRummikub-614d0935be71708331c9b1d65f430d6bf5b00777.zip
Timer läuft ab
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@106 72836036-5685-4462-b002-a69064685172
Diffstat (limited to 'src/jrummikub/control/TurnTimer.java')
-rw-r--r--src/jrummikub/control/TurnTimer.java44
1 files changed, 43 insertions, 1 deletions
diff --git a/src/jrummikub/control/TurnTimer.java b/src/jrummikub/control/TurnTimer.java
index 701e892..9e694f7 100644
--- a/src/jrummikub/control/TurnTimer.java
+++ b/src/jrummikub/control/TurnTimer.java
@@ -1,5 +1,47 @@
package jrummikub.control;
-public class TurnTimer {
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import javax.swing.Timer;
+
+import jrummikub.util.Event;
+import jrummikub.util.IEvent;
+import jrummikub.view.IView;
+
+public class TurnTimer implements ActionListener {
+ private IView view;
+ private int timeLeft = 60;
+ private Timer timer;
+ private Event timeRunOutEvent = new Event();
+
+ public TurnTimer(IView view) {
+ this.view = view;
+ timer = new Timer(1000, this);
+ timer.setRepeats(true);
+ timer.setCoalesce(false);
+ view.getPlayerPanel().setTimeLeft(timeLeft);
+ }
+
+ public void startTimer() {
+ timer.start();
+ }
+
+ public void stopTimer() {
+ timer.stop();
+ }
+
+ @Override
+ public void actionPerformed(ActionEvent arg0) {
+ timeLeft--;
+ view.getPlayerPanel().setTimeLeft(timeLeft);
+ if (timeLeft == 0) {
+ timer.stop();
+ timeRunOutEvent.emit();
+ }
+ }
+
+ public IEvent getTimeRunOutEvent() {
+ return timeRunOutEvent;
+ }
}