aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornokoe <nokoe@mailbox.org>2024-07-08 14:55:34 +0200
committernokoe <nokoe@mailbox.org>2024-07-08 14:55:34 +0200
commite5f913706a2c87993bbaf793e9640cfd154db421 (patch)
tree9bcdc39f5332b08b814bf0d1e4e3ebda88de87e2
parent535db64a8fc2ed95393eb5ca7facedcf179b8f63 (diff)
downloadhurrycurry-e5f913706a2c87993bbaf793e9640cfd154db421.tar
hurrycurry-e5f913706a2c87993bbaf793e9640cfd154db421.tar.bz2
hurrycurry-e5f913706a2c87993bbaf793e9640cfd154db421.tar.zst
spectating
-rw-r--r--client/game.gd14
-rw-r--r--client/game.tscn6
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