- extends Control
-
- var port = null # Defined by command-line argument with default
-
- onready var hero_select = get_node("HeroSelect/Hero")
-
- func _ready():
- if get_tree().is_network_server():
- get_node("LevelSelect").show()
-
- get_node("Username").connect("text_changed", self, "_send_name")
- get_node("StartGame").connect("pressed", self, "_start_game")
-
- var spectating = util.args.get_value("-silent")
- get_node("Spectating").pressed = spectating
- #
- get_node("Spectating").connect("toggled", networking, "set_spectating") # TODO
- # get_node("CustomGame/LevelSelect").connect("item_selected", self, "select_level") TODO
- # _send_name()
- # hero_select.set_hero(0)
-
- networking.connect("info_updated", self, "render_player_list")
- get_tree().connect("connected_to_server", self, "_send_settings")
- if get_tree().is_network_server():
- _send_settings()
-
- func _send_settings():
- print("sending")
- _send_name()
- hero_select.random_hero()
-
- sync func set_hero(peer, hero):
- networking.players[peer].hero = hero
- render_player_list()
-
- func _send_name():
- var name = get_node("Username").text
- networking.set_info("username", name)
-
- func render_player_list():
- print(JSON.print(networking.players))
- var list = ""
- var hero_names = hero_select.hero_names
- for p in networking.players:
- list += "%-15s" % networking.players[p].username
- list += "%-20s" % hero_names[networking.players[p].hero]
- if networking.players[p].is_right_team:
- list += "Right Team"
- else:
- list += "Left Team"
- list += "\n"
- get_node("PlayerList").set_text(list)
-
- func _start_game():
- _collect_info()
- var level = 2 # TODO
- networking.rpc_id(1, "start_game", level)
-
|