aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornokoe <nokoe@mailbox.org>2024-07-08 19:02:43 +0200
committernokoe <nokoe@mailbox.org>2024-07-08 19:03:30 +0200
commite3ca09a6d8d288855e601135ba683ea06490ba48 (patch)
tree4653dc1369987684727576ad98b002edd7c1cf35
parentfa9856f0f7cf278efd1533dcd688435751370363 (diff)
downloadhurrycurry-e3ca09a6d8d288855e601135ba683ea06490ba48.tar
hurrycurry-e3ca09a6d8d288855e601135ba683ea06490ba48.tar.bz2
hurrycurry-e3ca09a6d8d288855e601135ba683ea06490ba48.tar.zst
center only on players if possible
-rw-r--r--client/game.gd25
-rw-r--r--client/menu/ingame.gd1
2 files changed, 20 insertions, 6 deletions
diff --git a/client/game.gd b/client/game.gd
index b6646407..8fe150e6 100644
--- a/client/game.gd
+++ b/client/game.gd
@@ -273,10 +273,23 @@ func set_tile(tile: Vector2i, kind = null, neighbors = 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
+ if is_joined:
+ return
+ var sum: int = 0
+ var player_sum: int = 0
+ var center: Vector3 = Vector3(0., 0., 0.)
+ var player_center: Vector3 = Vector3(0., 0., 0.)
+ for v in players.values():
+ var p: Player = v
+ if p.character_idx >= 0:
+ player_sum += 1
+ player_center += p.position
+ sum += 1
+ center += p.position
+
+ var new_center: Vector3 = Vector3(0., 0., 0.)
+ if player_sum > 0:
+ new_center = player_center / player_sum
+ elif sum > 0:
+ new_center = center / sum
$Center.position = new_center
diff --git a/client/menu/ingame.gd b/client/menu/ingame.gd
index f8653411..6f1e40fe 100644
--- a/client/menu/ingame.gd
+++ b/client/menu/ingame.gd
@@ -28,6 +28,7 @@ func _ready():
lobby_button.disabled = game.in_lobby
game.joined.connect(_on_game_joined)
game.left.connect(_on_game_left)
+ update_button_text()
super()
func anim_setup(): pass