summaryrefslogtreecommitdiff
path: root/Network/Lobby.gd
diff options
context:
space:
mode:
Diffstat (limited to 'Network/Lobby.gd')
-rw-r--r--Network/Lobby.gd19
1 files changed, 18 insertions, 1 deletions
diff --git a/Network/Lobby.gd b/Network/Lobby.gd
index 15f27ba..be045b0 100644
--- a/Network/Lobby.gd
+++ b/Network/Lobby.gd
@@ -7,6 +7,7 @@ func _ready():
Network.connect("player_list_changed", self, "refresh_lobby")
Network.connect("game_error", self, "_on_game_error")
Network.connect("game_ended", self, "_on_game_ended")
+ $HTTPRequest.connect("request_completed", self, '_set_remote_ip')
if OS.has_environment("USERNAME"):
$Connect/Name.text = OS.get_environment("USERNAME")
@@ -39,11 +40,27 @@ func refresh_lobby():
func set_ip():
+ self.set_local_ip()
+ self.set_remote_ip()
+
+func set_local_ip():
for ip in IP.get_local_addresses():
if ip.begins_with("192.168"):
- $Players/IP.text = ip
+ $Players/LocalIP.text = ip
break
+func set_remote_ip():
+ $Players/RemoteIP.text = ""
+ $HTTPRequest.request("https://ipv4.icanhazip.com/")
+
+func _set_remote_ip(result, response_code, headers, body):
+ if response_code == 200:
+ $Players/RemoteIP.text = body.get_string_from_utf8()
+ else:
+ $Players/RemoteIP.text = "Remote IP request failed!"
+ self._on_game_error("Remote IP request failed!")
+
+
func _on_connection_succeeded():
$Connect.hide()
$Players.show()