Untitled

 avatar
unknown
plain_text
10 days ago
1.2 kB
2
Indexable
extends Node2D

var peer = ENetMultiplayerPeer.new()
@export var player_scene: PackedScene
@export var game_scene: PackedScene
@onready var line_edit: LineEdit = $LineEdit
@onready var namelabel: Label = $Name

func _ready() -> void:
	line_edit.text_submitted.connect(_on_text_entered)

func _on_text_entered(new_text: String) -> void:
	namelabel.text = "Currently: " + new_text
	Global.player_name = new_text

func _on_host_pressed() -> void:
	peer.create_server(135)
	multiplayer.multiplayer_peer = peer
	multiplayer.peer_connected.connect(_add_player)
	start_game()
	$Host.hide()
	$Join.hide()

func _on_join_pressed() -> void:
	peer.create_client("localhost", 135)
	multiplayer.multiplayer_peer = peer
	start_game()

func start_game():
	# Change to the new scene
	await get_tree().change_scene_to_packed(game_scene)
	
	_on_scene_ready()


func _on_scene_ready():
	await 1.0
	_add_player()

func _add_player(id = 1):
	print("Adding player")
	var current_scene = get_tree().current_scene
	if current_scene:
		var player = player_scene.instantiate()
		player.name = str(id)
		current_scene.add_child(player)
		print("addedplayer")
	else:
		print("failed")
Leave a Comment