extends Node @onready var manager = get_node(".") @onready var main_menu = $CanvasLayer/MainMenu @onready var start_game_menu = $CanvasLayer/StartGameMenu @onready var address_entry = $CanvasLayer/MainMenu/PanelContainer/MarginContainer/VBoxContainer/HBoxContainer2/AddressEntry @onready var notifications = $CanvasLayer/notifications @onready var spawner = $MultiplayerSpawner var PORT = 9999 var enet_peer = ENetMultiplayerPeer.new() const Level1 = preload("res://Levels/Level1/Level1.tscn") const Player = preload("res://Characters/test_player/test_player.tscn") var spawn_location: Vector2 = Vector2.ZERO # Called when the node enters the scene tree for the first time. func _ready(): #get_tree().paused = true var level_1 = Level1.instantiate() var spawn_location_in_level = level_1.get_node("PlayerSpawnLocation") spawn_location = spawn_location_in_level.get_position() spawn_location_in_level.set_visible(false) add_child(level_1) func add_player(peer_id): var player = Player.instantiate() player.name = str(peer_id) add_child(player) # Adds to current scene under root node if peer_id == 1: player.set_position(spawn_location) else: spawn_location = spawn_location + Vector2(50, 0) player.set_spawn_location.rpc(spawn_location) print("SPAWN LOCATION: ", spawn_location, " PEER ID: ", player.name) # show_notification.rpc("Test Message") @rpc("call_local") func show_notification(my_message: String): notifications.show_new_notification(my_message) func _on_host_button_pressed(): # When hosting a new game main_menu.hide() start_game_menu.show() enet_peer.create_server(PORT) multiplayer.multiplayer_peer = enet_peer multiplayer.peer_connected.connect(add_player) add_player(multiplayer.get_unique_id()) # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta): pass func _on_join_button_pressed(): main_menu.hide() enet_peer.create_client("localhost", PORT) multiplayer.multiplayer_peer = enet_peer func _on_start_game_button_pressed(): start_game_menu.hide() func _on_play_single_player_button_pressed(): var player = Player.instantiate() player.name = str(1) add_child(player) player.set_position(spawn_location) main_menu.hide() notifications.hide()