summaryrefslogtreecommitdiffstats
path: root/src/renderer/runtime/model/data/map.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/renderer/runtime/model/data/map.ts')
-rw-r--r--src/renderer/runtime/model/data/map.ts29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/renderer/runtime/model/data/map.ts b/src/renderer/runtime/model/data/map.ts
new file mode 100644
index 0000000..81ce051
--- /dev/null
+++ b/src/renderer/runtime/model/data/map.ts
@@ -0,0 +1,29 @@
+import { Collision } from './collision';
+
+export interface MapLayer {
+ readonly tiles: number[][];
+}
+
+export interface MapDataInput {
+ readonly tiles: string[];
+ readonly layers: MapLayer[];
+ readonly collision: Collision[];
+}
+
+export class MapData {
+ public readonly tiles: string[];
+ public readonly layers: MapLayer[];
+ public readonly collision: Collision[];
+
+ public readonly width: number;
+ public readonly height: number;
+
+ constructor(data: MapDataInput) {
+ this.tiles = data.tiles;
+ this.layers = data.layers;
+ this.collision = data.collision;
+
+ this.height = this.layers[0].tiles.length;
+ this.width = this.layers[0].tiles[0].length;
+ }
+}