Scoreboard

This commit is contained in:
Rendo 2025-12-14 17:07:22 +05:00
commit 17e809e95e
10 changed files with 151 additions and 4 deletions

View file

@ -0,0 +1,14 @@
extends Control
var player_id: int = -1
func _on_visibility_changed() -> void:
process_mode = Node.PROCESS_MODE_INHERIT if visible else Node.PROCESS_MODE_DISABLED
func _process(_delta: float) -> void:
if player_id == -1:
%PlayerNickname.text = ""
%Money.text = ""
else:
%PlayerNickname.text = Session.player_data[player_id]["nickname"]
%Money.text = str(Session.player_data[player_id]["money"])

View file

@ -0,0 +1 @@
uid://bj34bnaxmdjcd

View file

@ -0,0 +1,22 @@
[gd_scene load_steps=2 format=3 uid="uid://s4md6vpalgi3"]
[ext_resource type="Script" uid="uid://bj34bnaxmdjcd" path="res://gui/scoretable/player_score.gd" id="1_hkkte"]
[node name="PlayerScore" type="HBoxContainer"]
custom_minimum_size = Vector2(300, 0)
offset_right = 450.0
offset_bottom = 59.0
script = ExtResource("1_hkkte")
[node name="PlayerNickname" type="Label" parent="."]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
size_flags_stretch_ratio = 3.0
[node name="Money" type="Label" parent="."]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
[connection signal="visibility_changed" from="." to="." method="_on_visibility_changed"]

View file

@ -0,0 +1,18 @@
extends Control
func _input(event: InputEvent) -> void:
if event.is_action_pressed("menu_scoretable"):
for i in range(%Attackers.get_child_count()):
if len(Lobby.attack_team) > i:
%Attackers.get_child(i).player_id = Lobby.attack_team[i]
else:
%Attackers.get_child(i).player_id = -1
for i in range(%Defenders.get_child_count()):
if len(Lobby.defence_team) > i:
%Defenders.get_child(i).player_id = Lobby.defence_team[i]
else:
%Defenders.get_child(i).player_id = -1
visible = true
elif event.is_action_released("menu_scoretable"):
visible = false

View file

@ -0,0 +1 @@
uid://b6no4pn7xer34

View file

@ -0,0 +1,80 @@
[gd_scene load_steps=5 format=3 uid="uid://rjw543348gto"]
[ext_resource type="Script" uid="uid://bala54fa32e35" path="res://gui/hud/player_round_display.gd" id="1_5bga1"]
[ext_resource type="Script" uid="uid://b6no4pn7xer34" path="res://gui/scoretable/scoretable.gd" id="1_f2dcx"]
[ext_resource type="Script" uid="uid://bos7nftlx8tv3" path="res://gui/hud/player_round_time.gd" id="2_p1a1u"]
[ext_resource type="PackedScene" uid="uid://s4md6vpalgi3" path="res://gui/scoretable/player_score.tscn" id="3_p1a1u"]
[node name="Scoretable" type="CenterContainer"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
script = ExtResource("1_f2dcx")
metadata/_edit_lock_ = true
[node name="PanelContainer" type="PanelContainer" parent="."]
layout_mode = 2
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"]
layout_mode = 2
[node name="RoundData" type="HBoxContainer" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
mouse_filter = 2
[node name="RoundDisplayOur" type="Label" parent="PanelContainer/VBoxContainer/RoundData"]
layout_mode = 2
script = ExtResource("1_5bga1")
our_side = true
[node name="RoundTime" type="Label" parent="PanelContainer/VBoxContainer/RoundData"]
layout_mode = 2
script = ExtResource("2_p1a1u")
[node name="RoundDisplayTheir" type="Label" parent="PanelContainer/VBoxContainer/RoundData"]
layout_mode = 2
script = ExtResource("1_5bga1")
[node name="PlayersContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
[node name="Attackers" type="VBoxContainer" parent="PanelContainer/VBoxContainer/PlayersContainer"]
unique_name_in_owner = true
layout_mode = 2
[node name="PlayerScore" parent="PanelContainer/VBoxContainer/PlayersContainer/Attackers" instance=ExtResource("3_p1a1u")]
layout_mode = 2
[node name="PlayerScore2" parent="PanelContainer/VBoxContainer/PlayersContainer/Attackers" instance=ExtResource("3_p1a1u")]
layout_mode = 2
[node name="PlayerScore3" parent="PanelContainer/VBoxContainer/PlayersContainer/Attackers" instance=ExtResource("3_p1a1u")]
layout_mode = 2
[node name="PlayerScore4" parent="PanelContainer/VBoxContainer/PlayersContainer/Attackers" instance=ExtResource("3_p1a1u")]
layout_mode = 2
[node name="PlayerScore5" parent="PanelContainer/VBoxContainer/PlayersContainer/Attackers" instance=ExtResource("3_p1a1u")]
layout_mode = 2
[node name="Defenders" type="VBoxContainer" parent="PanelContainer/VBoxContainer/PlayersContainer"]
unique_name_in_owner = true
layout_mode = 2
[node name="PlayerScore" parent="PanelContainer/VBoxContainer/PlayersContainer/Defenders" instance=ExtResource("3_p1a1u")]
layout_mode = 2
[node name="PlayerScore2" parent="PanelContainer/VBoxContainer/PlayersContainer/Defenders" instance=ExtResource("3_p1a1u")]
layout_mode = 2
[node name="PlayerScore3" parent="PanelContainer/VBoxContainer/PlayersContainer/Defenders" instance=ExtResource("3_p1a1u")]
layout_mode = 2
[node name="PlayerScore4" parent="PanelContainer/VBoxContainer/PlayersContainer/Defenders" instance=ExtResource("3_p1a1u")]
layout_mode = 2
[node name="PlayerScore5" parent="PanelContainer/VBoxContainer/PlayersContainer/Defenders" instance=ExtResource("3_p1a1u")]
layout_mode = 2