working on route allocation
This commit is contained in:
@@ -19,10 +19,10 @@ import de.srsoftware.web4rail.Application;
|
||||
import de.srsoftware.web4rail.Connector;
|
||||
import de.srsoftware.web4rail.Plan;
|
||||
import de.srsoftware.web4rail.Plan.Direction;
|
||||
import de.srsoftware.web4rail.tags.Form;
|
||||
import de.srsoftware.web4rail.Route;
|
||||
import de.srsoftware.web4rail.Window;
|
||||
import de.srsoftware.web4rail.moving.Train;
|
||||
import de.srsoftware.web4rail.tags.Form;
|
||||
|
||||
public abstract class Tile {
|
||||
|
||||
@@ -30,7 +30,7 @@ public abstract class Tile {
|
||||
protected HashSet<String> classes = new HashSet<>();
|
||||
protected HashSet<Shadow> shadows = new HashSet<>();
|
||||
private HashSet<Route> routes = new HashSet<>();
|
||||
private Plan plan;
|
||||
protected Plan plan;
|
||||
private Train lockedBy;
|
||||
|
||||
protected static Logger LOG = LoggerFactory.getLogger(Tile.class);
|
||||
@@ -48,6 +48,10 @@ public abstract class Tile {
|
||||
shadows.add(shadow);
|
||||
}
|
||||
|
||||
public Object click() throws IOException {
|
||||
return propMenu();
|
||||
}
|
||||
|
||||
public JSONObject config() {
|
||||
return new JSONObject();
|
||||
}
|
||||
@@ -69,6 +73,7 @@ public abstract class Tile {
|
||||
|
||||
public void lock(Train train) {
|
||||
lockedBy = train;
|
||||
classes.add("locked");
|
||||
plan.stream("addclass tile-"+x+"-"+y+" locked");
|
||||
}
|
||||
|
||||
@@ -190,6 +195,7 @@ public abstract class Tile {
|
||||
|
||||
public void unlock() {
|
||||
lockedBy = null;
|
||||
classes.remove("locked");
|
||||
plan.stream("dropclass tile-"+x+"-"+y+" locked");
|
||||
}
|
||||
|
||||
|
||||
@@ -1,14 +1,35 @@
|
||||
package de.srsoftware.web4rail.tiles;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Map;
|
||||
|
||||
import de.srsoftware.tools.Tag;
|
||||
|
||||
public abstract class Turnout extends Tile {
|
||||
public static final String STATE = "state";
|
||||
public enum State{
|
||||
LEFT,STRAIGHT,RIGHT,UNDEF;
|
||||
}
|
||||
private boolean straight = true;
|
||||
protected State state = State.STRAIGHT;
|
||||
|
||||
public boolean toggle() {
|
||||
straight = !straight;
|
||||
return straight;
|
||||
public State state() {
|
||||
return state;
|
||||
}
|
||||
|
||||
public void state(State newState) throws IOException {
|
||||
state = newState;
|
||||
LOG.debug("Setting {} to {}",this,state);
|
||||
plan.stream("place "+tag(null));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Tag tag(Map<String, Object> replacements) throws IOException {
|
||||
Tag tag = super.tag(replacements);
|
||||
tag.clazz(tag.get("class")+(" "+state).toLowerCase());
|
||||
return tag;
|
||||
}
|
||||
|
||||
public void toggle() {
|
||||
state = State.STRAIGHT;
|
||||
}
|
||||
}
|
||||
|
||||
11
src/main/java/de/srsoftware/web4rail/tiles/TurnoutL.java
Normal file
11
src/main/java/de/srsoftware/web4rail/tiles/TurnoutL.java
Normal file
@@ -0,0 +1,11 @@
|
||||
package de.srsoftware.web4rail.tiles;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
public class TurnoutL extends Turnout {
|
||||
@Override
|
||||
public Object click() throws IOException {
|
||||
state = (state == State.STRAIGHT) ? State.LEFT : State.STRAIGHT;
|
||||
return tag(null);
|
||||
}
|
||||
}
|
||||
@@ -6,7 +6,7 @@ import java.util.Map;
|
||||
import de.srsoftware.web4rail.Connector;
|
||||
import de.srsoftware.web4rail.Plan.Direction;
|
||||
|
||||
public class TurnoutLE extends Turnout{
|
||||
public class TurnoutLE extends TurnoutL{
|
||||
|
||||
@Override
|
||||
public Map<Connector, State> connections(Direction from) {
|
||||
|
||||
@@ -6,7 +6,7 @@ import java.util.Map;
|
||||
import de.srsoftware.web4rail.Connector;
|
||||
import de.srsoftware.web4rail.Plan.Direction;
|
||||
|
||||
public class TurnoutLN extends Turnout{
|
||||
public class TurnoutLN extends TurnoutL{
|
||||
|
||||
@Override
|
||||
public Map<Connector, State> connections(Direction from) {
|
||||
|
||||
@@ -6,7 +6,7 @@ import java.util.Map;
|
||||
import de.srsoftware.web4rail.Connector;
|
||||
import de.srsoftware.web4rail.Plan.Direction;
|
||||
|
||||
public class TurnoutLS extends Turnout{
|
||||
public class TurnoutLS extends TurnoutL{
|
||||
|
||||
@Override
|
||||
public Map<Connector, State> connections(Direction from) {
|
||||
|
||||
@@ -6,7 +6,7 @@ import java.util.Map;
|
||||
import de.srsoftware.web4rail.Connector;
|
||||
import de.srsoftware.web4rail.Plan.Direction;
|
||||
|
||||
public class TurnoutLW extends Turnout{
|
||||
public class TurnoutLW extends TurnoutL{
|
||||
|
||||
@Override
|
||||
public Map<Connector, State> connections(Direction from) {
|
||||
|
||||
11
src/main/java/de/srsoftware/web4rail/tiles/TurnoutR.java
Normal file
11
src/main/java/de/srsoftware/web4rail/tiles/TurnoutR.java
Normal file
@@ -0,0 +1,11 @@
|
||||
package de.srsoftware.web4rail.tiles;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
public class TurnoutR extends Turnout {
|
||||
@Override
|
||||
public Object click() throws IOException {
|
||||
state = (state == State.STRAIGHT) ? State.RIGHT : State.STRAIGHT;
|
||||
return tag(null);
|
||||
}
|
||||
}
|
||||
@@ -6,7 +6,7 @@ import java.util.Map;
|
||||
import de.srsoftware.web4rail.Connector;
|
||||
import de.srsoftware.web4rail.Plan.Direction;
|
||||
|
||||
public class TurnoutRE extends Turnout{
|
||||
public class TurnoutRE extends TurnoutR{
|
||||
|
||||
@Override
|
||||
public Map<Connector, State> connections(Direction from) {
|
||||
|
||||
@@ -6,7 +6,7 @@ import java.util.Map;
|
||||
import de.srsoftware.web4rail.Connector;
|
||||
import de.srsoftware.web4rail.Plan.Direction;
|
||||
|
||||
public class TurnoutRN extends Turnout{
|
||||
public class TurnoutRN extends TurnoutR{
|
||||
|
||||
@Override
|
||||
public Map<Connector, State> connections(Direction from) {
|
||||
|
||||
@@ -6,7 +6,7 @@ import java.util.Map;
|
||||
import de.srsoftware.web4rail.Connector;
|
||||
import de.srsoftware.web4rail.Plan.Direction;
|
||||
|
||||
public class TurnoutRS extends Turnout{
|
||||
public class TurnoutRS extends TurnoutR{
|
||||
|
||||
@Override
|
||||
public Map<Connector, State> connections(Direction from) {
|
||||
|
||||
@@ -6,7 +6,7 @@ import java.util.Map;
|
||||
import de.srsoftware.web4rail.Connector;
|
||||
import de.srsoftware.web4rail.Plan.Direction;
|
||||
|
||||
public class TurnoutRW extends Turnout{
|
||||
public class TurnoutRW extends TurnoutR{
|
||||
|
||||
@Override
|
||||
public Map<Connector, State> connections(Direction from) {
|
||||
|
||||
Reference in New Issue
Block a user