From 7c35aabdb9ada61019c652ff0409f62d786361aa Mon Sep 17 00:00:00 2001 From: Luna Date: Mon, 22 Jan 2018 16:12:41 -0500 Subject: [PATCH] Add player list to lobby --- scenes/lobby.tscn | 76 ++++++++++++++++++++++++++++++++++++++++++++++++-- scripts/hero_select.gd | 9 ++++-- scripts/lobby.gd | 10 +++++++ 3 files changed, 91 insertions(+), 4 deletions(-) diff --git a/scenes/lobby.tscn b/scenes/lobby.tscn index b8a952d..76e968f 100644 --- a/scenes/lobby.tscn +++ b/scenes/lobby.tscn @@ -1,9 +1,22 @@ -[gd_scene load_steps=3 format=2] +[gd_scene load_steps=5 format=2] [ext_resource path="res://scripts/lobby.gd" type="Script" id=1] [ext_resource path="res://scripts/hero_select.gd" type="Script" id=2] -[node name="Control" type="Control"] +[sub_resource type="DynamicFontData" id=2] + +font_path = "res://assets/DejaVuSansMono.ttf" +_sections_unfolded = [ "Resource" ] + +[sub_resource type="DynamicFont" id=1] + +size = 16 +use_mipmaps = false +use_filter = false +font_data = SubResource( 2 ) +_sections_unfolded = [ "Font", "Resource", "Settings" ] + +[node name="Control" type="Control" index="0"] anchor_left = 0.0 anchor_top = 0.0 @@ -19,6 +32,7 @@ mouse_default_cursor_shape = 0 size_flags_horizontal = 1 size_flags_vertical = 1 script = ExtResource( 1 ) +_sections_unfolded = [ "Anchor" ] [node name="Server" type="Button" parent="." index="0"] @@ -321,4 +335,62 @@ selected = -1 items = [ ] script = ExtResource( 2 ) +[node name="HSeparator3" type="HSeparator" parent="." index="13"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 19.0 +margin_top = 254.0 +margin_right = 645.0 +margin_bottom = 258.0 +rect_pivot_offset = Vector2( 0, 0 ) +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 + +[node name="PlayerListLabel" type="Label" parent="." index="14"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 14.0 +margin_top = 270.0 +margin_right = 136.0 +margin_bottom = 284.0 +rect_pivot_offset = Vector2( 0, 0 ) +mouse_filter = 2 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 4 +text = "Connected Players:" +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + +[node name="PlayerList" type="Label" parent="." index="15"] + +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = -7.0 +margin_top = 270.0 +margin_right = 639.0 +margin_bottom = 460.0 +rect_pivot_offset = Vector2( 0, 0 ) +mouse_filter = 2 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 4 +custom_fonts/font = SubResource( 1 ) +text = "Waiting for players to connect...." +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 +_sections_unfolded = [ "BBCode", "custom_fonts" ] + diff --git a/scripts/hero_select.gd b/scripts/hero_select.gd index 379a04a..4129727 100644 --- a/scripts/hero_select.gd +++ b/scripts/hero_select.gd @@ -1,5 +1,10 @@ extends OptionButton +const hero_names = [ + "Wallriding mfer", + "WallMAKING mfer", +] + func _ready(): - add_item("Wallriding mfer", 0) - add_item("WallMAKING mfer", 1) + for hero_index in range(hero_names.size()): + add_item(hero_names[hero_index], hero_index) diff --git a/scripts/lobby.gd b/scripts/lobby.gd index eb01bb3..d718304 100644 --- a/scripts/lobby.gd +++ b/scripts/lobby.gd @@ -59,6 +59,7 @@ func collect_info(): remote func register_player(new_peer, info): player_info[new_peer] = info + render_player_list() if (get_tree().is_network_server()): # Send current players' info to new player for old_peer in player_info: @@ -72,6 +73,15 @@ remote func register_player(new_peer, info): if (player_info.size() == MAX_PLAYERS): start_game() +func render_player_list(): + var list = "" + var hero_names = get_node("HeroSelect").hero_names + for p in player_info: + list += "%-12s" % player_info[p].username + list += "%-12s" % hero_names[player_info[p].hero] + list += "\n" + get_node("PlayerList").set_text(list) + func start_game(): rpc("pre_configure_game") if SERVER_PLAYING: