Files
lobby-server/lobby.gd
itdominator 3fcabe1a53 refactor: simplify lobby server architecture and update app metadata
* remove legacy data bridge, RPC, and server bootstrap files
* simplify lobby scene and node hierarchy
* rename lobby UI scene path and update signal handlers
* replace the application icon and configure the boot splash
* add project description and version metadata
2026-08-12 16:38:38 -05:00

63 lines
1.4 KiB
GDScript

extends Node
#
#
# Note that the lobby server is looking for a script local to it titled 'game.sh'
#
# Editor -> Debug > Customize Run Instance
#
#
# -- name_billiards server game_port_range 5000:5010
#
#
# CLI
#
# ./lobby_server.sh -- name_billiards server game_port_range 5000:5010
#
#
func _ready() -> void:
for arg in OS.get_cmdline_user_args():
if "name_" in arg:
name_(arg)
elif "server_" in arg:
server_(arg)
match arg:
"server":
server(arg)
"game_port_range":
game_port_range(arg)
_:
pass
func name_(arg: String) -> void:
var game_name = arg.split("_")[-1]
self.name = game_name
func server_(arg: String) -> void:
var host_port = float(arg.split("_")[-1])
Globals.game_state.set_game_scene(
"res://scenes/screens/lobby_screen/lobby.tscn"
)
$scene/lobby_screen.find_child("host_port_range", true, false).set_value_no_signal(host_port)
$scene/lobby_screen.find_child("host_start_bttn", true, false).emit_signal("pressed")
func server(_arg: String) -> void:
Globals.game_state.set_game_scene(
"res://scenes/screens/lobby_screen/lobby.tscn"
)
$scene/lobby_screen.find_child("host_start_bttn", true, false).emit_signal("pressed")
func game_port_range(_arg: String) -> void:
var port_range = OS.get_cmdline_user_args()[-1].split(":")
InstanceLauncher.port_range_start = port_range[0]
InstanceLauncher.port_range_end = port_range[1]