|
@@ -0,0 +1,67 @@
|
|
|
+package me.hammerle.supersnuvi.rendering;
|
|
|
+
|
|
|
+import javafx.animation.AnimationTimer;
|
|
|
+import javafx.scene.canvas.GraphicsContext;
|
|
|
+
|
|
|
+public class RenderCanvas extends AnimationTimer
|
|
|
+{
|
|
|
+ private GraphicsContext gc;
|
|
|
+
|
|
|
+ private final long startNanoTime;
|
|
|
+ private long lastHandle;
|
|
|
+ private long delta;
|
|
|
+
|
|
|
+ private MapRenderer map;
|
|
|
+
|
|
|
+ public RenderCanvas(GameWindow w, GraphicsContext gc, double width, double height)
|
|
|
+ {
|
|
|
+ this.gc = gc;
|
|
|
+ this.startNanoTime = System.nanoTime();
|
|
|
+ this.lastHandle = startNanoTime;
|
|
|
+ this.map = new MapRenderer(w, gc, width, height);
|
|
|
+
|
|
|
+ map.loadMap(new int[][]
|
|
|
+ {
|
|
|
+ {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
|
|
|
+ {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
|
|
|
+ {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
|
|
|
+ {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
|
|
|
+ {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
|
|
|
+ {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
|
|
|
+ {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
|
|
|
+ {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
|
|
|
+ {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
|
|
|
+ }, new int[][]
|
|
|
+ {
|
|
|
+ {1, 1, 1, 3, 2, 1, 1, 1, 1, 3, 2},
|
|
|
+ {1, 1, 1, 3, 2, 1, 1, 1, 1, 3, 2},
|
|
|
+ {1, 1, 1, 1, 3, 1, 1, 1, 1, 3, 2},
|
|
|
+ {1, 1, 1, 1, 3, 1, 1, 1, 3, 2, 2},
|
|
|
+ {1, 1, 1, 1, 3, 1, 1, 1, 3, 2, 2},
|
|
|
+ {1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 2},
|
|
|
+ {1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2},
|
|
|
+ {1, 1, 1, 1, 1, 1, 3, 1, 1, 3, 2},
|
|
|
+ {1, 1, 1, 1, 1, 3, 2, 1, 1, 3, 2}
|
|
|
+ }, new int[][]
|
|
|
+ {
|
|
|
+ {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
|
|
|
+ {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
|
|
|
+ {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
|
|
|
+ {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
|
|
|
+ {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
|
|
|
+ {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
|
|
|
+ {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
|
|
|
+ {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
|
|
|
+ {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void handle(long now)
|
|
|
+ {
|
|
|
+ delta = (now - lastHandle) / 1000;
|
|
|
+ lastHandle = now;
|
|
|
+
|
|
|
+ map.tick(delta);
|
|
|
+ }
|
|
|
+}
|