12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- extends Control
- onready var client = $Client
- func _ready():
- client.connect("lobby_joined", self, "_lobby_joined")
- client.connect("lobby_sealed", self, "_lobby_sealed")
- client.connect("connected", self, "_connected")
- client.connect("disconnected", self, "_disconnected")
- client.rtc_mp.connect("peer_connected", self, "_mp_peer_connected")
- client.rtc_mp.connect("peer_disconnected", self, "_mp_peer_disconnected")
- client.rtc_mp.connect("server_disconnected", self, "_mp_server_disconnect")
- client.rtc_mp.connect("connection_succeeded", self, "_mp_connected")
- func _process(delta):
- get_node("VBoxContainer/Info/1").text = String(client.rtc_mp.get_connection_status())
- #get_node("VBoxContainer/Info/2").text = String(len(get_tree().get_network_connected_peers()))
- client.rtc_mp.poll()
- while client.rtc_mp.get_available_packet_count() > 0:
- _log(client.rtc_mp.get_packet().get_string_from_utf8())
- func _connected(id):
- _log("Signaling server connected with ID: %s" % id)
- func _disconnected():
- _log("Signaling server disconnected: %d - %s" % [client.code, client.reason])
- func _lobby_joined(lobby):
- _log("Joined lobby %s" % lobby)
- func _lobby_sealed():
- _log("Lobby has been sealed")
- func _mp_connected():
- _log("Multiplayer is connected (I am %d)" % client.rtc_mp.get_unique_id())
- get_tree().set_network_peer(client.rtc_mp)
- get_node("VBoxContainer/Info/2").text = String(len(get_tree().get_network_connected_peers()))
- func _mp_server_disconnect():
- _log("Multiplayer is disconnected (I am %d)" % client.rtc_mp.get_unique_id())
- func _mp_peer_connected(id: int):
- _log("Multiplayer peer %d connected" % id)
- func _mp_peer_disconnected(id: int):
- _log("Multiplayer peer %d disconnected" % id)
- func _log(msg):
- print(msg)
- $VBoxContainer/TextEdit.text += str(msg) + "\n"
- func ping():
- _log(client.rtc_mp.put_packet("ping".to_utf8()))
- func _on_Peers_pressed():
- var d = client.rtc_mp.get_peers()
- _log(d)
- for k in d:
- _log(client.rtc_mp.get_peer(k))
- func start():
- client.start($VBoxContainer/Connect/Host.text, $VBoxContainer/Connect/RoomSecret.text)
- func _on_Seal_pressed():
- client.seal_lobby()
- func stop():
- client.stop()
- func _on_Hide_pressed():
- self.hide()
|