41 lines
1.1 KiB
GDScript
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) |