Files
whale_town/Scripts/StartMenu.gd
WangXiang 6119faf53e init
2025-12-22 18:57:51 +08:00

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")