diff options
Diffstat (limited to 'client/game.gd')
-rw-r--r-- | client/game.gd | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/client/game.gd b/client/game.gd index 397a2b73..b2bb67ae 100644 --- a/client/game.gd +++ b/client/game.gd @@ -76,7 +76,7 @@ func _ready(): item_index_by_name.clear() for i in range(item_names.size()): item_index_by_name[item_names[i]] = i - + data_updated.emit() ) await mp.init @@ -228,7 +228,7 @@ func _ready(): mp.score.connect(overlay.update) mp.hide_score.connect(overlay.reset) - + mp.set_ingame.connect( func toggle_lobby(_state: bool, lobby_state: bool): lobby.visible = lobby_state @@ -239,6 +239,7 @@ func join(): func _process(delta): marker.position = Global.interpolate(marker.position, marker_target, delta * 30.) + update_center() if Global.get_setting("debug_info"): debug_label.show() @@ -259,3 +260,12 @@ func get_tile_interactive(pos: Vector2i) -> bool: func set_tile(tile: Vector2i, kind = null, neighbors = null): if neighbors != null: neighbors = neighbors.map(func (x): return tile_names[x] if x != null else null) map.set_tile(tile, tile_names[kind], neighbors) + +func update_center(): + var players_count := players.size() + var new_center := Vector3(0, 0, 0) + for p in players.values(): + new_center += p.position + if players_count > 0: + new_center /= players_count + $Center.position = new_center |