bugfixes after refactoring
This commit is contained in:
@@ -3,11 +3,16 @@ package de.srsoftware.web4rail.tiles;
|
||||
import java.io.IOException;
|
||||
import java.util.Map;
|
||||
|
||||
import org.json.JSONObject;
|
||||
|
||||
import de.srsoftware.tools.Tag;
|
||||
import de.srsoftware.web4rail.Connector;
|
||||
import de.srsoftware.web4rail.Route;
|
||||
import de.srsoftware.web4rail.Window;
|
||||
import de.srsoftware.web4rail.moving.Train;
|
||||
|
||||
public abstract class Bridge extends Tile {
|
||||
private static final String COUNTERPART = "counterpart";
|
||||
private static Bridge pendingConnection = null;
|
||||
protected Bridge counterpart = null;
|
||||
|
||||
@@ -32,6 +37,44 @@ public abstract class Bridge extends Tile {
|
||||
}
|
||||
|
||||
protected abstract Connector connector();
|
||||
|
||||
@Override
|
||||
public JSONObject json() {
|
||||
JSONObject json = super.json();
|
||||
if (isSet(counterpart)) json.put(COUNTERPART, counterpart.id().toString());
|
||||
return json;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Tile load(JSONObject json) throws IOException {
|
||||
if (json.has(COUNTERPART)) {
|
||||
new Thread() {
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
sleep(1000);
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
counterpart = (Bridge) plan.get(Id.from(json, COUNTERPART), false);
|
||||
}
|
||||
}.start();
|
||||
}
|
||||
return super.load(json);
|
||||
}
|
||||
|
||||
public Tile set(Train train) {
|
||||
super.set(train);
|
||||
if (isSet(counterpart) && counterpart.train != train) counterpart.set(train);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Tile setRoute(Route route) {
|
||||
super.setRoute(route);
|
||||
if (isSet(counterpart) && counterpart.route != route) counterpart.setRoute(route);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Window propMenu() {
|
||||
|
||||
Reference in New Issue
Block a user