added contacts and signals
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
package de.srsoftware.web4rail.tiles;
|
||||
|
||||
public class Contact {
|
||||
public abstract class Contact extends Tile{
|
||||
|
||||
}
|
||||
|
||||
20
src/main/java/de/srsoftware/web4rail/tiles/ContactH.java
Normal file
20
src/main/java/de/srsoftware/web4rail/tiles/ContactH.java
Normal file
@@ -0,0 +1,20 @@
|
||||
package de.srsoftware.web4rail.tiles;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Vector;
|
||||
|
||||
import de.srsoftware.web4rail.Connector;
|
||||
import de.srsoftware.web4rail.Plan;
|
||||
|
||||
public class ContactH extends Contact {
|
||||
@Override
|
||||
public List<Connector> connections(String from) {
|
||||
switch (from) {
|
||||
case Plan.WEST:
|
||||
return List.of(new Connector(x+1,y,from));
|
||||
case Plan.EAST:
|
||||
return List.of(new Connector(x-1,y,from));
|
||||
}
|
||||
return new Vector<>();
|
||||
}
|
||||
}
|
||||
21
src/main/java/de/srsoftware/web4rail/tiles/ContactV.java
Normal file
21
src/main/java/de/srsoftware/web4rail/tiles/ContactV.java
Normal file
@@ -0,0 +1,21 @@
|
||||
package de.srsoftware.web4rail.tiles;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Vector;
|
||||
|
||||
import de.srsoftware.web4rail.Connector;
|
||||
import de.srsoftware.web4rail.Plan;
|
||||
|
||||
public class ContactV extends Contact {
|
||||
|
||||
@Override
|
||||
public List<Connector> connections(String from) {
|
||||
switch (from) {
|
||||
case Plan.NORTH:
|
||||
return List.of(new Connector(x,y+1,from));
|
||||
case Plan.SOUTH:
|
||||
return List.of(new Connector(x,y-1,from));
|
||||
}
|
||||
return new Vector<>();
|
||||
}
|
||||
}
|
||||
@@ -15,8 +15,9 @@ public class Shadow extends Tile{
|
||||
return super.connections(from);
|
||||
}
|
||||
|
||||
public Shadow(Tile overlay) {
|
||||
public Shadow(Tile overlay) {
|
||||
this.overlay = overlay;
|
||||
overlay.addShadow(this);
|
||||
}
|
||||
|
||||
public Tile overlay() {
|
||||
|
||||
9
src/main/java/de/srsoftware/web4rail/tiles/Signal.java
Normal file
9
src/main/java/de/srsoftware/web4rail/tiles/Signal.java
Normal file
@@ -0,0 +1,9 @@
|
||||
package de.srsoftware.web4rail.tiles;
|
||||
|
||||
public abstract class Signal extends Tile{
|
||||
|
||||
public Signal() {
|
||||
super();
|
||||
classes.add("signal");
|
||||
}
|
||||
}
|
||||
20
src/main/java/de/srsoftware/web4rail/tiles/SignalE.java
Normal file
20
src/main/java/de/srsoftware/web4rail/tiles/SignalE.java
Normal file
@@ -0,0 +1,20 @@
|
||||
package de.srsoftware.web4rail.tiles;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Vector;
|
||||
|
||||
import de.srsoftware.web4rail.Connector;
|
||||
import de.srsoftware.web4rail.Plan;
|
||||
|
||||
public class SignalE extends Signal{
|
||||
@Override
|
||||
public List<Connector> connections(String from) {
|
||||
switch (from) {
|
||||
case Plan.WEST:
|
||||
return List.of(new Connector(x+1,y,from));
|
||||
case Plan.EAST:
|
||||
return List.of(new Connector(x-1,y,from));
|
||||
}
|
||||
return new Vector<>();
|
||||
}
|
||||
}
|
||||
21
src/main/java/de/srsoftware/web4rail/tiles/SignalN.java
Normal file
21
src/main/java/de/srsoftware/web4rail/tiles/SignalN.java
Normal file
@@ -0,0 +1,21 @@
|
||||
package de.srsoftware.web4rail.tiles;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Vector;
|
||||
|
||||
import de.srsoftware.web4rail.Connector;
|
||||
import de.srsoftware.web4rail.Plan;
|
||||
|
||||
public class SignalN extends Signal {
|
||||
|
||||
@Override
|
||||
public List<Connector> connections(String from) {
|
||||
switch (from) {
|
||||
case Plan.NORTH:
|
||||
return List.of(new Connector(x,y+1,from));
|
||||
case Plan.SOUTH:
|
||||
return List.of(new Connector(x,y-1,from));
|
||||
}
|
||||
return new Vector<>();
|
||||
}
|
||||
}
|
||||
21
src/main/java/de/srsoftware/web4rail/tiles/SignalS.java
Normal file
21
src/main/java/de/srsoftware/web4rail/tiles/SignalS.java
Normal file
@@ -0,0 +1,21 @@
|
||||
package de.srsoftware.web4rail.tiles;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Vector;
|
||||
|
||||
import de.srsoftware.web4rail.Connector;
|
||||
import de.srsoftware.web4rail.Plan;
|
||||
|
||||
public class SignalS extends Signal{
|
||||
|
||||
@Override
|
||||
public List<Connector> connections(String from) {
|
||||
switch (from) {
|
||||
case Plan.NORTH:
|
||||
return List.of(new Connector(x,y+1,from));
|
||||
case Plan.SOUTH:
|
||||
return List.of(new Connector(x,y-1,from));
|
||||
}
|
||||
return new Vector<>();
|
||||
}
|
||||
}
|
||||
21
src/main/java/de/srsoftware/web4rail/tiles/SignalV.java
Normal file
21
src/main/java/de/srsoftware/web4rail/tiles/SignalV.java
Normal file
@@ -0,0 +1,21 @@
|
||||
package de.srsoftware.web4rail.tiles;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Vector;
|
||||
|
||||
import de.srsoftware.web4rail.Connector;
|
||||
import de.srsoftware.web4rail.Plan;
|
||||
|
||||
public class SignalV extends Signal {
|
||||
|
||||
@Override
|
||||
public List<Connector> connections(String from) {
|
||||
switch (from) {
|
||||
case Plan.NORTH:
|
||||
return List.of(new Connector(x,y+1,from));
|
||||
case Plan.SOUTH:
|
||||
return List.of(new Connector(x,y-1,from));
|
||||
}
|
||||
return new Vector<>();
|
||||
}
|
||||
}
|
||||
20
src/main/java/de/srsoftware/web4rail/tiles/SignalW.java
Normal file
20
src/main/java/de/srsoftware/web4rail/tiles/SignalW.java
Normal file
@@ -0,0 +1,20 @@
|
||||
package de.srsoftware.web4rail.tiles;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Vector;
|
||||
|
||||
import de.srsoftware.web4rail.Connector;
|
||||
import de.srsoftware.web4rail.Plan;
|
||||
|
||||
public class SignalW extends Signal{
|
||||
@Override
|
||||
public List<Connector> connections(String from) {
|
||||
switch (from) {
|
||||
case Plan.WEST:
|
||||
return List.of(new Connector(x+1,y,from));
|
||||
case Plan.EAST:
|
||||
return List.of(new Connector(x-1,y,from));
|
||||
}
|
||||
return new Vector<>();
|
||||
}
|
||||
}
|
||||
@@ -25,6 +25,7 @@ public abstract class Tile {
|
||||
|
||||
protected int x = -1,y = -1;
|
||||
protected HashSet<String> classes = new HashSet<String>();
|
||||
protected HashSet<Shadow> shadows = new HashSet<Shadow>();
|
||||
protected static Logger LOG = LoggerFactory.getLogger(Tile.class);
|
||||
|
||||
public Tile() {
|
||||
@@ -148,4 +149,8 @@ public abstract class Tile {
|
||||
LOG.debug("{}.update({})",getClass().getSimpleName(),params);
|
||||
return this;
|
||||
}
|
||||
|
||||
public void addShadow(Shadow shadow) {
|
||||
shadows.add(shadow);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user