diff options
Diffstat (limited to 'client/map/tile_factory.gd')
-rw-r--r-- | client/map/tile_factory.gd | 13 |
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) |