despawn runner or chaser on disconnect
This commit is contained in:
+15
-7
@@ -9,16 +9,24 @@ var _ping := 0.0
|
||||
@onready var _runners_node: Node3D = %Runners
|
||||
|
||||
func spawn_player(player_id: int, runner: bool) -> void:
|
||||
if multiplayer.is_server():
|
||||
var player = runner_scene.instantiate() if runner else chaser_scene.instantiate()
|
||||
player.player_id = player_id
|
||||
player.name = str(player_id)
|
||||
if not multiplayer.is_server(): return
|
||||
|
||||
_runners_node.add_child(player) if runner else _chasers_node.add_child(player)
|
||||
var player = runner_scene.instantiate() if runner else chaser_scene.instantiate()
|
||||
player.player_id = player_id
|
||||
player.name = str(player_id)
|
||||
|
||||
_runners_node.add_child(player) if runner else _chasers_node.add_child(player)
|
||||
|
||||
func despawn_player(player_id: int) -> void:
|
||||
if not multiplayer.is_server(): return
|
||||
|
||||
var player_id_str := str(player_id)
|
||||
for runner_or_chaser in _runners_node.get_children() + _chasers_node.get_children():
|
||||
if runner_or_chaser.name == player_id_str:
|
||||
runner_or_chaser.queue_free()
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
if DisplayServer.get_name() == "headless":
|
||||
return
|
||||
if DisplayServer.get_name() == "headless": return
|
||||
|
||||
%StatsLabel.text = statsTemplate % [
|
||||
Engine.get_frames_per_second(),
|
||||
|
||||
Reference in New Issue
Block a user