Browse Source

minor improvement on autopilot

lookup-tables
Stephan Richter 5 years ago
parent
commit
41e05ef397
  1. 2
      src/main/java/de/srsoftware/web4rail/Plan.java
  2. 14
      src/main/java/de/srsoftware/web4rail/moving/Train.java

2
src/main/java/de/srsoftware/web4rail/Plan.java

@ -501,7 +501,7 @@ public class Plan { @@ -501,7 +501,7 @@ public class Plan {
public synchronized void stream(String data) {
data = data.replaceAll("\n", "").replaceAll("\r", "");
LOG.debug("streaming: {}",data);
//LOG.debug("streaming: {}",data);
Vector<OutputStreamWriter> badClients = null;
for (Entry<OutputStreamWriter, Integer> entry : clients.entrySet()) {
OutputStreamWriter client = entry.getKey();

14
src/main/java/de/srsoftware/web4rail/moving/Train.java

@ -20,6 +20,7 @@ import de.srsoftware.web4rail.tags.Form; @@ -20,6 +20,7 @@ import de.srsoftware.web4rail.tags.Form;
import de.srsoftware.web4rail.tiles.Block;
import de.srsoftware.web4rail.tiles.Contact;
import de.srsoftware.web4rail.tiles.Signal;
import de.srsoftware.web4rail.tiles.Tile;
public class Train {
@ -27,18 +28,19 @@ public class Train { @@ -27,18 +28,19 @@ public class Train {
@Override
public void run() {
try {
Vector<Contact> contacts = null;
Vector<Tile> path = new Vector<Tile>();
while (true) {
if (route == null) {
Thread.sleep(3000);
Train.this.start();
contacts = route == null ? new Vector<Contact>() : route.contacts();
path = route == null ? new Vector<Tile>() : route.path();
} else {
if (!contacts.isEmpty()) {
Contact contact = contacts.remove(0);
contact.activate();
if (!path.isEmpty()) {
Tile t = path.remove(0);
if (t instanceof Contact) ((Contact)t).activate();
}
}
Thread.sleep(1000);
Thread.sleep(500);
}
} catch (Exception e) {
e.printStackTrace();

Loading…
Cancel
Save