diff options
Diffstat (limited to 'client/game.gd')
-rw-r--r-- | client/game.gd | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/client/game.gd b/client/game.gd index 67b92679..ad9467ca 100644 --- a/client/game.gd +++ b/client/game.gd @@ -24,30 +24,32 @@ extends Node3D var marker_target = Vector3(0,0,0) var players := {} -# Called when the node enters the scene tree for the first time. func _ready(): + mp.connect("connection_closed", func(reason: String): + Global.error_message = reason; + $SceneTransition.transition_to("res://menu/error_menu.tscn") + ) + await mp.init if mp.player_id == -1: push_error("multiplayer has not been initialized") - mp.connect("add_player", - func(player: int, player_name: String, pos: Vector2, character: int): - var player_instance: Player - if player == mp.player_id: - player_instance = ControllablePlayer.new(player, player_name, pos, character, self) - camera.target = player_instance - else: - player_instance = Player.new(player, player_name, pos, character, self) - players[player] = player_instance - add_child(player_instance) + mp.connect("add_player", func(player: int, player_name: String, pos: Vector2, character: int): + var player_instance: Player + if player == mp.player_id: + player_instance = ControllablePlayer.new(player, player_name, pos, character, self) + camera.target = player_instance + else: + player_instance = Player.new(player, player_name, pos, character, self) + players[player] = player_instance + add_child(player_instance) ) mp.connect("update_map", map.update) - mp.connect("position", - func(player: int, pos: Vector2, rot: float): - var player_instance: Player = players[player] - player_instance.update_position(pos, rot) + mp.connect("position", func(player: int, pos: Vector2, rot: float): + var player_instance: Player = players[player] + player_instance.update_position(pos, rot) ) mp.connect("remove_player", func(id: int): |