project_teddy/scripts/multiplayer.gd
2023-04-25 11:32:46 -06:00

66 lines
1.6 KiB
GDScript

extends Node
var peer = ENetMultiplayerPeer.new()
var SCENE = "res://scenes/toyland.tscn"
func _ready():
$playerNameBox.text = Global.playerName
func _process(delta):
pass
func _on_button_pressed():
self.queue_free()
func _on_host_button_pressed():
var scene_trs =load("res://scenes/hostmenu.tscn")
var scene=scene_trs.instantiate()
get_parent().add_child(scene)
self.queue_free()
var alreadyRan
func _on_join_button_pressed():
if not alreadyRan:
alreadyRan = true
peer.close()
var IPADD
var PORT
var intPORT
if $ipBox.text:
IPADD = $ipBox.text
else:
$errorLabel.text = "ERROR: NO IP SPECIFIED"
return
if $portBox.text:
PORT = $portBox.text
intPORT = int(PORT)
else:
$errorLabel.text = "ERROR: NO PORT SPECIFIED"
return
if Global.playerName == "":
$errorLabel.text = "NAME CAN'T BE BLANK"
return
var result = peer.create_client(IPADD, intPORT)
var resultString = str(result)
$errorLabel.text = resultString
prints("Creating client result:", result)
if result != OK:
printerr("Failed to create client object, please report to Paul/Techwizz")
$errorLabel.text = "Failed to create client object, please report to Paul/Techwizz"
if result == OK:
print("Connecting to server at IP ", IPADD, ":", intPORT, "...")
$errorLabel.text = "Connecting to server..."
multiplayer.multiplayer_peer = peer
await get_tree().create_timer(5).timeout
printerr("FAILED TO CONNECT, CHECK INFO THEN TRY AGAIN")
$errorLabel.text = "FAILED TO CONNECT, CHECK INFO THEN TRY AGAIN"
func _on_player_name_box_text_changed(new_text):
Global.playerName = new_text
Global.save_data()