47 lines
1.3 KiB
GDScript
47 lines
1.3 KiB
GDScript
extends Node
|
|
|
|
var player_manager: PlayerManager = PlayerManager.new()
|
|
|
|
# Called when the node enters the scene tree for the first time.
|
|
func _ready() -> void:
|
|
var map_dir := DirAccess.open("res://scenes/maps/maps/")
|
|
|
|
if map_dir:
|
|
map_dir.list_dir_begin()
|
|
var file_name = map_dir.get_next()
|
|
while file_name != "":
|
|
$CreateServer/Maps.add_item(file_name)
|
|
file_name = map_dir.get_next()
|
|
|
|
|
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
|
func _process(delta: float) -> void:
|
|
pass
|
|
|
|
|
|
func _on_create_server_pressed() -> void:
|
|
$CreateServer.visible = true
|
|
|
|
func _on_join_server_pressed() -> void:
|
|
$JoinServer.visible = true
|
|
|
|
|
|
|
|
func _on_create_button_pressed() -> void:
|
|
var chosen_map_index = $CreateServer/Maps.get_selected_items()[0]
|
|
var chosen_map = $CreateServer/Maps.get_item_text(chosen_map_index)
|
|
var path_tmpl := "res://scenes/maps/maps/%s"
|
|
var path := path_tmpl % chosen_map
|
|
GameServerManager.current_map = path
|
|
var err := GameServerManager.create_server(player_manager)
|
|
if err != OK:
|
|
print("couldn't create a server")
|
|
|
|
|
|
func _on_text_edit_text_changed() -> void:
|
|
player_manager.name = $TextEdit.text
|
|
|
|
|
|
func _on_join_button_pressed() -> void:
|
|
GameServerManager.join_server(player_manager, $JoinServer/IP.text, $JoinServer/Port.text.to_int())
|