TrafficSim/app/src/main/java/de/hems/trafficsim/Worker.java
Loch Christian (uib05376) 771371ed06 Implement SurfaceView renderer
Add frameskip SeekBar
2020-11-14 21:36:41 +01:00

52 lines
1.1 KiB
Java

package de.hems.trafficsim;
import android.graphics.Canvas;
import android.view.SurfaceHolder;
import java.util.ConcurrentModificationException;
public class Worker extends Thread {
protected Track track;
protected boolean stop;
protected MainActivity gui;
protected Renderer renderer;
protected int frameskip;
public Worker(Track track, MainActivity gui, Renderer renderer, int frameskip) {
super();
this.track = track;
this.stop = false;
this.gui = gui;
this.renderer = renderer;
this.frameskip = frameskip;
}
public void setStop(boolean stop) {
this.stop = stop;
}
public void setFrameskip(int frames) {
this.frameskip = frames;
}
public int getFrameskip() { return this.frameskip; }
@Override
public void run() {
Canvas canvas = null;
int i = 0;
while (!stop) {
this.track.timeElapse();
this.gui.updateStats();
if (i >= this.frameskip) {
this.renderer.draw();
i=0;
}
i++;
}
}
}