project_teddy/scripts/multiplayer.gd

79 lines
1.9 KiB
GDScript3
Raw Normal View History

extends Node
2023-02-15 23:41:14 -07:00
var peer = ENetMultiplayerPeer.new()
2023-02-22 21:31:22 -07:00
var SCENE = "res://scenes/toyland.tscn"
func _ready():
$playerNameBox.text = Global.playerName
$ipBox.text = Global.lastEnteredIP
$portBox.text = Global.lastEnteredPort
func _process(delta):
pass
func _on_button_pressed():
2023-02-24 23:49:49 -07:00
self.queue_free()
2023-02-09 13:10:25 -07:00
func _on_host_button_pressed():
var scene_trs =load("res://scenes/hostmenu.tscn")
var scene=scene_trs.instantiate()
2023-02-24 23:49:49 -07:00
get_parent().add_child(scene)
self.queue_free()
2023-02-09 13:10:25 -07:00
2023-04-25 11:32:46 -06:00
var alreadyRan
2023-02-09 13:10:25 -07:00
func _on_join_button_pressed():
2023-04-25 11:32:46 -06:00
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"
2023-02-14 13:29:43 -07:00
func _on_player_name_box_text_changed(new_text):
Global.playerName = new_text
2023-03-17 00:20:54 -06:00
Global.save_data()
func _on_ip_box_text_changed(new_text):
Global.lastEnteredIP = new_text
Global.save_data()
func _on_port_box_text_changed(new_text):
Global.lastEnteredPort = new_text
Global.save_data()