aboutsummaryrefslogtreecommitdiff
path: root/client/map/map.gd
diff options
context:
space:
mode:
Diffstat (limited to 'client/map/map.gd')
-rw-r--r--client/map/map.gd12
1 files changed, 6 insertions, 6 deletions
diff --git a/client/map/map.gd b/client/map/map.gd
index eb1e13bb..da9f3f68 100644
--- a/client/map/map.gd
+++ b/client/map/map.gd
@@ -49,11 +49,11 @@ func get_tile_item(pos: Vector2i): # -> Item?
if e == null: return null
return e.item
-func set_all_tiles(changes: Dictionary[Vector2i, Array]):
+func set_all_tiles(changes: Dictionary[Vector2i, Array], srv: Game.ServerContext = null):
for pos: Vector2i in changes:
- set_tiles(Vector2i(pos.x, pos.y), changes[pos], changes)
+ set_tiles(Vector2i(pos.x, pos.y), changes[pos], changes, srv)
-func set_tiles(pos: Vector2i, tiles: Array = [], pending_changes: Dictionary[Vector2i, Array] = {}): # tiles: Array[String]
+func set_tiles(pos: Vector2i, tiles: Array = [], pending_changes: Dictionary[Vector2i, Array] = {}, srv: Game.ServerContext = null): # tiles: Array[String]
var tile_info = tile_by_pos.get(pos)
if tile_info != null:
for inst: Tile in tile_info.tile_instances:
@@ -61,10 +61,10 @@ func set_tiles(pos: Vector2i, tiles: Array = [], pending_changes: Dictionary[Vec
# TODO: Don't return, but handle changes which weren't handled by the instance below.
if inst.change(tile): return # Instance handled change itself!
_remove_tile(pos)
- if not tiles.is_empty(): _add_tiles(pos, tiles, pending_changes)
+ if not tiles.is_empty(): _add_tiles(pos, tiles, pending_changes, srv)
if autoflush: flush()
-func _add_tiles(pos: Vector2i, tiles: Array, pending_changes: Dictionary[Vector2i, Array] = {}) -> void:
+func _add_tiles(pos: Vector2i, tiles: Array, pending_changes: Dictionary[Vector2i, Array], srv: Game.ServerContext) -> void:
# Combinate tiles
for k in TILE_COMBINATOR:
if G.has_all(tiles, k):
@@ -86,7 +86,7 @@ func _add_tiles(pos: Vector2i, tiles: Array, pending_changes: Dictionary[Vector2
add_child(tiles_parent)
var tile_instances: Array[Tile] = []
for tile_name: String in tiles:
- var tile := tile_factory.produce(tile_name, pos, neighbors)
+ var tile := tile_factory.produce(tile_name, pos, neighbors, srv)
tile_instances.append(tile)
tile.position = Vector3(pos.x, 0, pos.y)
tiles_parent.add_child(tile)