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