replaced arrows, added first 3-way switch

This commit is contained in:
Stephan Richter
2020-09-17 10:02:57 +02:00
parent 28ade2f7fa
commit 6c6585a3ed
3 changed files with 40 additions and 4 deletions

View File

@@ -0,0 +1,5 @@
<svg width="100" height="100" viewbox="0 0 100 100">
<polygon points="100,65 35,0 65,0 100,35" />
<polygon points="100,65 65,100 35,100 100,35" />
<rect x="0" y="35" width="100" height="30" />
</svg>

After

Width:  |  Height:  |  Size: 202 B

View File

@@ -49,6 +49,7 @@ import de.srsoftware.web4rail.tiles.StraightV;
import de.srsoftware.web4rail.tiles.Tile; import de.srsoftware.web4rail.tiles.Tile;
import de.srsoftware.web4rail.tiles.Turnout; import de.srsoftware.web4rail.tiles.Turnout;
import de.srsoftware.web4rail.tiles.Turnout.State; import de.srsoftware.web4rail.tiles.Turnout.State;
import de.srsoftware.web4rail.tiles.Turnout3E;
import de.srsoftware.web4rail.tiles.TurnoutLE; import de.srsoftware.web4rail.tiles.TurnoutLE;
import de.srsoftware.web4rail.tiles.TurnoutLN; import de.srsoftware.web4rail.tiles.TurnoutLN;
import de.srsoftware.web4rail.tiles.TurnoutLS; import de.srsoftware.web4rail.tiles.TurnoutLS;
@@ -235,10 +236,10 @@ public class Plan {
private Tag moveMenu() { private Tag moveMenu() {
Tag tileMenu = new Tag("div").clazz("move").title(t("Move tiles")).content(t("")); Tag tileMenu = new Tag("div").clazz("move").title(t("Move tiles")).content(t(""));
StringBuffer tiles = new StringBuffer(); StringBuffer tiles = new StringBuffer();
tiles.append(new Tag("div").id("west").title(t("Move west")).content("🢀")); tiles.append(new Tag("div").id("west").title(t("Move west")).content(""));
tiles.append(new Tag("div").id("east").title(t("Move east")).content("🢂")); tiles.append(new Tag("div").id("east").title(t("Move east")).content(""));
tiles.append(new Tag("div").id("north").title(t("Move north")).content("🢁")); tiles.append(new Tag("div").id("north").title(t("Move north")).content(""));
tiles.append(new Tag("div").id("south").title(t("Move south")).content("🢃")); tiles.append(new Tag("div").id("south").title(t("Move south")).content(""));
return new Tag("div").clazz("list").content(tiles.toString()).addTo(tileMenu); return new Tag("div").clazz("list").content(tiles.toString()).addTo(tileMenu);
} }
@@ -442,6 +443,7 @@ public class Plan {
tiles.append(new TurnoutLS().tag(null)); tiles.append(new TurnoutLS().tag(null));
tiles.append(new TurnoutLW().tag(null)); tiles.append(new TurnoutLW().tag(null));
tiles.append(new TurnoutLE().tag(null)); tiles.append(new TurnoutLE().tag(null));
tiles.append(new Turnout3E().tag(null));
tiles.append(new CrossH().tag(null)); tiles.append(new CrossH().tag(null));
tiles.append(new CrossV().tag(null)); tiles.append(new CrossV().tag(null));
tiles.append(new Eraser().tag(null)); tiles.append(new Eraser().tag(null));

View File

@@ -0,0 +1,29 @@
package de.srsoftware.web4rail.tiles;
import java.util.HashMap;
import java.util.Map;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
public class Turnout3E extends Turnout{
@Override
public Map<Connector, State> connections(Direction from) {
switch (from) {
case EAST:
return Map.of(
new Connector(x,y+1,Direction.NORTH),State.LEFT,
new Connector(x-1, y, Direction.EAST),State.STRAIGHT,
new Connector(x,y-1,Direction.SOUTH),State.RIGHT);
case NORTH:
return Map.of(new Connector(x+1,y,Direction.WEST),State.RIGHT);
case SOUTH:
return Map.of(new Connector(x+1,y,Direction.WEST),State.LEFT);
case WEST:
return Map.of(new Connector(x+1,y,Direction.WEST),State.STRAIGHT);
default:
return new HashMap<>();
}
}
}