52 lines
1.1 KiB
Java
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++;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|