diff options
| -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 | 
