aboutsummaryrefslogtreecommitdiff
path: root/client/map/tile_factory.gd
diff options
context:
space:
mode:
Diffstat (limited to 'client/map/tile_factory.gd')
-rw-r--r--client/map/tile_factory.gd13
1 files changed, 10 insertions, 3 deletions
diff --git a/client/map/tile_factory.gd b/client/map/tile_factory.gd
index 7ba575c3..ca6c0f81 100644
--- a/client/map/tile_factory.gd
+++ b/client/map/tile_factory.gd
@@ -20,14 +20,21 @@ class TileCC:
var tile_name: String
var position: Vector2i
var neighbors: Array
- var floor_mesher: FloorMesher
+ var floor_meshers: Dictionary[String, FloorMesher]
-static func produce(tile_name: String, position: Vector2i, neighbors: Array, floor_mesher) -> Tile:
+var floor_meshers: Dictionary[String, FloorMesher] = {
+ "floor": FloorMesher.new(Floor.floor_mesh()),
+ "path": FloorMesher.new(Path.floor_mesh()),
+ "grass": GrassMesher.new(Grass.floor_mesh()),
+ "street": FloorMesher.new(Street.floor_mesh())
+}
+
+func produce(tile_name: String, position: Vector2i, neighbors: Array) -> Tile:
var ctx := TileCC.new()
ctx.tile_name = tile_name
ctx.position = position
ctx.neighbors = neighbors
- ctx.floor_mesher = floor_mesher
+ ctx.floor_meshers = floor_meshers
match tile_name:
"black-hole-counter": return ItemPortal.new(ctx, false)
"black-hole": return PlayerPortal.new(ctx, false)