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): | 
