aboutsummaryrefslogtreecommitdiff
path: root/client/game.gd
diff options
context:
space:
mode:
Diffstat (limited to 'client/game.gd')
-rw-r--r--client/game.gd10
1 files changed, 9 insertions, 1 deletions
diff --git a/client/game.gd b/client/game.gd
index e760186b..4e0bfe52 100644
--- a/client/game.gd
+++ b/client/game.gd
@@ -22,6 +22,7 @@ signal update_players(players: Dictionary)
signal data_updated()
signal player_set_input_enabled(b: bool)
signal joined()
+signal left()
var player_id: int = -1
var item_names: Array = []
@@ -32,6 +33,8 @@ var tile_collide: Array = []
var tile_interact: Array = []
var map_names: Array = []
var in_lobby := false
+var is_joined := false
+var join_sent := false
var marker_target = Vector3(0,0,0)
var players := {}
@@ -90,6 +93,7 @@ func _ready():
player_instance = ControllablePlayer.new(player, player_name, pos, character, self)
camera.target = player_instance
player_set_input_enabled.connect(player_instance.set_input_enabled)
+ is_joined = true
joined.emit()
else:
player_instance = Player.new(player, player_name, pos, character, self)
@@ -109,7 +113,10 @@ func _ready():
mp.remove_player.connect(func(id: int):
var player: Player = players.get(id)
if id == player_id:
- camera.target = self
+ is_joined = false
+ join_sent = false
+ left.emit()
+ camera.target = $Center
if player != null:
if player.hand != null:
player.hand.queue_free()
@@ -235,6 +242,7 @@ func _ready():
)
func join():
+ join_sent = true
mp.send_join(Global.profile["username"], Global.profile["character"])
func _process(delta):