Disconnect Logic
This commit is contained in:
parent
5fbdc61bec
commit
83b109e4bc
1 changed files with 12 additions and 0 deletions
|
|
@ -27,6 +27,7 @@ func host_game():
|
||||||
peer.create_server(PORT, MAX_CLIENTS)
|
peer.create_server(PORT, MAX_CLIENTS)
|
||||||
multiplayer.multiplayer_peer = peer
|
multiplayer.multiplayer_peer = peer
|
||||||
multiplayer.peer_connected.connect(_on_player_connected)
|
multiplayer.peer_connected.connect(_on_player_connected)
|
||||||
|
multiplayer.peer_disconnected.connect(_on_player_disconnected)
|
||||||
print("Server gestartet. id=" + str(multiplayer.get_unique_id()))
|
print("Server gestartet. id=" + str(multiplayer.get_unique_id()))
|
||||||
|
|
||||||
func join_game(ip = "127.0.0.1"):
|
func join_game(ip = "127.0.0.1"):
|
||||||
|
|
@ -39,6 +40,17 @@ func _on_player_connected(id):
|
||||||
# Standardmäßig in Area 1 starten
|
# Standardmäßig in Area 1 starten
|
||||||
change_player_area(id, "keuwin_grasland")
|
change_player_area(id, "keuwin_grasland")
|
||||||
|
|
||||||
|
func _on_player_disconnected(id):
|
||||||
|
if not multiplayer.is_server(): return
|
||||||
|
|
||||||
|
print("Player disconnected with id: ", id)
|
||||||
|
|
||||||
|
# Der MultiplayerSpawner entfernt den Node automatisch aus dem Szenenbaum.
|
||||||
|
# Unsere einzige Aufgabe ist es, unseren internen Zustand aufzuräumen.
|
||||||
|
if player_worlds.has(id):
|
||||||
|
print("Removing player ", id, " from internal tracking.")
|
||||||
|
player_worlds.erase(id)
|
||||||
|
|
||||||
func change_player_area(id: int, area_key: String):
|
func change_player_area(id: int, area_key: String):
|
||||||
if not multiplayer.is_server(): return
|
if not multiplayer.is_server(): return
|
||||||
print("Server is loading ", area_key)
|
print("Server is loading ", area_key)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue