diff options
Diffstat (limited to 'client')
-rw-r--r-- | client/game.gd | 14 | ||||
-rw-r--r-- | client/game.tscn | 6 |
2 files changed, 16 insertions, 4 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 diff --git a/client/game.tscn b/client/game.tscn index 5c695811..7c78e95e 100644 --- a/client/game.tscn +++ b/client/game.tscn @@ -8,7 +8,7 @@ [ext_resource type="Script" path="res://multiplayer.gd" id="6_fbxu8"] [ext_resource type="PackedScene" uid="uid://b4gone8fu53r7" path="res://map/map.tscn" id="6_prg6t"] [ext_resource type="PackedScene" uid="uid://bpikve6wlsjfl" path="res://menu/overlay.tscn" id="7_7xrr6"] -[ext_resource type="PackedScene" path="res://menu/server_message.tscn" id="9_l5d71"] +[ext_resource type="PackedScene" uid="uid://b21nrnkygiyjt" path="res://menu/server_message.tscn" id="9_l5d71"] [sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_py7px"] ground_bottom_color = Color(0.0826605, 0.065772, 0.0461518, 1) @@ -34,7 +34,7 @@ script = ExtResource("6_fbxu8") transform = Transform3D(0.728777, 0.294253, -0.618303, 0, 0.902961, 0.429723, 0.684751, -0.313173, 0.658057, -2.36537, 1.99403, 3.29507) current = true far = 150.0 -target = NodePath("..") +target = NodePath("../Center") [node name="WorldEnvironment" type="WorldEnvironment" parent="."] environment = SubResource("Environment_m4dli") @@ -50,6 +50,8 @@ visible = false [node name="Map" parent="." instance=ExtResource("6_prg6t")] +[node name="Center" type="Node3D" parent="."] + [node name="Overlay" parent="." instance=ExtResource("7_7xrr6")] offset_left = -280.0 offset_bottom = 102.0 |