32 lines
861 B
GDScript
32 lines
861 B
GDScript
extends CanvasLayer
|
|
|
|
@onready var name_input = $CenterContainer/Card/Content/Form/NameInput
|
|
|
|
const SERVER_URL = "ws://127.0.0.1:8910"
|
|
|
|
func _ready():
|
|
name_input.grab_focus()
|
|
|
|
func _unhandled_input(event):
|
|
if event.is_action_pressed("ui_accept"):
|
|
_on_join_pressed()
|
|
|
|
func _on_join_pressed():
|
|
if name_input.text.strip_edges().is_empty():
|
|
return
|
|
|
|
NetworkManager.set_player_name(name_input.text)
|
|
|
|
# Connect with hardcoded URL
|
|
var err = NetworkManager.connect_to_server(SERVER_URL)
|
|
if err == OK:
|
|
# Disable button to prevent double click?
|
|
# Wait for login_ok before changing scene
|
|
if not NetworkManager.login_ok.is_connected(_on_login_ok):
|
|
NetworkManager.login_ok.connect(_on_login_ok, CONNECT_ONE_SHOT)
|
|
else:
|
|
print("Connection failed: ", err)
|
|
|
|
func _on_login_ok(_my_id, _players):
|
|
get_tree().change_scene_to_file("res://Scenes/World.tscn")
|