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

@ -23,7 +23,7 @@ script_export_mode=2
custom_template/debug=""
custom_template/release=""
debug/export_console_wrapper=1
binary_format/embed_pck=true
binary_format/embed_pck=false
texture_format/s3tc_bptc=true
texture_format/etc2_astc=false
shader_baker/enabled=false
@ -66,7 +66,7 @@ script_export_mode=2
custom_template/debug=""
custom_template/release=""
debug/export_console_wrapper=1
binary_format/embed_pck=true
binary_format/embed_pck=false
texture_format/s3tc_bptc=true
texture_format/etc2_astc=false
shader_baker/enabled=false

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

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=27 format=3 uid="uid://cqrh2cc7m2i7f"]
[gd_scene load_steps=28 format=3 uid="uid://cqrh2cc7m2i7f"]
[ext_resource type="Environment" uid="uid://d0cfgtx2yxw13" path="res://environments/prototype_environment.tres" id="1_i6jab"]
[ext_resource type="Material" uid="uid://bx3f5vx71ynh5" path="res://materials/Graymat.tres" id="4_y6i55"]
@ -21,6 +21,7 @@
[ext_resource type="PackedScene" uid="uid://cmon3g1lsm3q" path="res://gui/team_choice/team_choice_menu.tscn" id="19_gcyg7"]
[ext_resource type="PackedScene" uid="uid://j5lgbg8c0pq" path="res://gui/buy_menu/buy_menu.tscn" id="20_gcyg7"]
[ext_resource type="Script" uid="uid://btbpe8hgf0knl" path="res://gui/team_won_text.gd" id="21_tdf5c"]
[ext_resource type="PackedScene" uid="uid://rjw543348gto" path="res://gui/scoretable/scoretable.tscn" id="22_ii5jc"]
[sub_resource type="BoxShape3D" id="BoxShape3D_ysk2e"]
size = Vector3(15.324341, 0.96273804, 21.381592)
@ -401,3 +402,6 @@ modulate = Color(1, 1, 1, 0)
layout_mode = 2
label_settings = SubResource("LabelSettings_gcyg7")
script = ExtResource("21_tdf5c")
[node name="Scoretable" parent="CanvasLayer" instance=ExtResource("22_ii5jc")]
visible = false

View file

@ -159,7 +159,9 @@ func start_session() -> void:
player_data[player] = {
"money" : START_MONEY,
"nickname" : Lobby.client_nicknames[player],
"saved_slots" : {}
"saved_slots" : {},
"kills" : 0,
"deaths" : 0,
}
start_round()

View file

@ -181,6 +181,11 @@ plr_buy={
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":66,"key_label":0,"unicode":98,"location":0,"echo":false,"script":null)
]
}
menu_scoretable={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194306,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
]
}
[layer_names]