init
This commit is contained in:
31
Scripts/StartMenu.gd
Normal file
31
Scripts/StartMenu.gd
Normal file
@@ -0,0 +1,31 @@
|
||||
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")
|
||||
Reference in New Issue
Block a user