improved tile move, added more tiles

This commit is contained in:
Stephan Richter
2020-09-14 00:01:48 +02:00
parent 6a1ada0d88
commit e7b9f3cd09
17 changed files with 153 additions and 37 deletions

View File

@@ -0,0 +1,18 @@
package de.srsoftware.web4rail.tiles;
import java.io.IOException;
import de.srsoftware.tools.Tag;
public class CrossH extends Tile{
@Override
public int len() {
return 2;
}
@Override
public Tag tag() throws IOException {
return super.tag().size(200,100).attr("viewbox", "0 0 200 100");
}
}

View File

@@ -0,0 +1,18 @@
package de.srsoftware.web4rail.tiles;
import java.io.IOException;
import de.srsoftware.tools.Tag;
public class CrossV extends Tile{
@Override
public int height() {
return 2;
}
@Override
public Tag tag() throws IOException {
return super.tag().size(100,200).attr("viewbox", "0 0 100 200");
}
}

View File

@@ -0,0 +1,4 @@
package de.srsoftware.web4rail.tiles;
public class EndN extends Tile{
}

View File

@@ -0,0 +1,4 @@
package de.srsoftware.web4rail.tiles;
public class EndS extends Tile{
}

View File

@@ -1,5 +1,3 @@
package de.srsoftware.web4rail.tiles;
import de.srsoftware.tools.Tag;
public class EndW extends Tile{}

View File

@@ -0,0 +1,5 @@
package de.srsoftware.web4rail.tiles;
public class Shadow extends Tile{
}

View File

@@ -18,6 +18,15 @@ public abstract class Tile {
public Tile() {
classes.add("tile");
classes.add(getClass().getSimpleName());
}
public int height() {
return 1;
}
public int len() {
return 1;
}
public Tile position(int x, int y) {
@@ -25,8 +34,12 @@ public abstract class Tile {
this.y = y;
return this;
}
public static Tag propMenu() {
return new Window("tile-properties",t("Properties")).content(t("This tile has no properties"));
}
public String html() throws IOException {
public Tag tag() throws IOException {
Tag svg = new Tag("svg")
.id((x!=-1 && y!=-1)?("tile-"+x+"-"+y):(getClass().getSimpleName()))
@@ -55,15 +68,15 @@ public abstract class Tile {
.addTo(svg);
}
return svg.toString();
return svg;
}
private static String t(String txt, Object...fills) {
return Translation.get(Application.class, txt, fills);
}
public static Tag propMenu() {
return new Window("tile-properties",t("Properties")).content(t("This tile has no properties"));
}
}
@Override
public String toString() {
return t("{}({},{})",getClass().getSimpleName(),x,y) ;
}
}