HitoriMitMaven/src/main/java/domain/HitoriGameTimer.java

56 lines
1.3 KiB
Java

package domain;
import java.io.Serializable;
public class HitoriGameTimer implements Serializable {
private static final long serialVersionUID = 1L;
private transient long startTime;
private long elapsedTime;
private boolean isPaused;
public HitoriGameTimer() {
this.startTime = 0;
this.elapsedTime = 0;
this.isPaused = false;
}
public void startTimer() {
if (isPaused || startTime == 0) {
startTime = System.currentTimeMillis();
isPaused = false;
}
}
public void pauseTimer() {
if (!isPaused && startTime > 0) {
elapsedTime += System.currentTimeMillis() - startTime;
startTime = 0;
isPaused = true;
}
}
public void stopTimer() {
if (!isPaused && startTime > 0) {
elapsedTime += System.currentTimeMillis() - startTime;
startTime = 0;
}
}
public void resetTimer() {
startTime = 0;
elapsedTime = 0;
isPaused = false;
}
public long getElapsedTimeInSeconds() {
if (isPaused || startTime == 0) {
return elapsedTime / 1000;
}
return (elapsedTime + System.currentTimeMillis() - startTime) / 1000;
}
public boolean isPaused() {
return isPaused;
}
}