opengamedevtycoon/Scripts/Serverlist.gd

41 lines
1.1 KiB
GDScript

extends Control
const port = 6008
var remembered_servers = [
]
## CONNECTION
func host_lobby():#Host a game
var hostpeer = NetworkedMultiplayerENet.new()
hostpeer.create_server(port)
create_lobby(hostpeer)
func join_lobby():#Connect to a game
var joinpeer = NetworkedMultiplayerENet.new()
joinpeer.create_client($ipconnect.text,port)
create_lobby(joinpeer)
func create_lobby(peer):#Creates the multiplayer lobby
var lob = load("res://GUI/multiplayerlobby.tscn").instance()
get_parent().add_child(lob,true)
get_tree().network_peer = peer
## SERVER LISTING
func refresh():#Refreshes the list of servers avaiable
for sev in remembered_servers:
$servers.add_item(sev)
func selected_server(idx):#selected a server from the servers list
$ipconnect.text = $servers.get_item_text(idx)
## MAIN
func _ready():
remembered_servers = $"/root/loader".load_json(ProjectSettings.get("Game/Resources/Serverlist"))["sev"]
$ipconnect.text = remembered_servers[0]
refresh()
var connections = [
$servers.connect("item_selected",self,"selected_server"),
$join.connect("pressed",self,"join_lobby"),
$host.connect("pressed",self,"host_lobby")
]
print_debug(connections)