diff --git a/export_presets.cfg b/export_presets.cfg index 82ebb18..d7953f5 100644 --- a/export_presets.cfg +++ b/export_presets.cfg @@ -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 diff --git a/gui/scoretable/player_score.gd b/gui/scoretable/player_score.gd new file mode 100644 index 0000000..16840dc --- /dev/null +++ b/gui/scoretable/player_score.gd @@ -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"]) diff --git a/gui/scoretable/player_score.gd.uid b/gui/scoretable/player_score.gd.uid new file mode 100644 index 0000000..1ad552f --- /dev/null +++ b/gui/scoretable/player_score.gd.uid @@ -0,0 +1 @@ +uid://bj34bnaxmdjcd diff --git a/gui/scoretable/player_score.tscn b/gui/scoretable/player_score.tscn new file mode 100644 index 0000000..5076539 --- /dev/null +++ b/gui/scoretable/player_score.tscn @@ -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"] diff --git a/gui/scoretable/scoretable.gd b/gui/scoretable/scoretable.gd new file mode 100644 index 0000000..cf79fe0 --- /dev/null +++ b/gui/scoretable/scoretable.gd @@ -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 diff --git a/gui/scoretable/scoretable.gd.uid b/gui/scoretable/scoretable.gd.uid new file mode 100644 index 0000000..164c6f3 --- /dev/null +++ b/gui/scoretable/scoretable.gd.uid @@ -0,0 +1 @@ +uid://b6no4pn7xer34 diff --git a/gui/scoretable/scoretable.tscn b/gui/scoretable/scoretable.tscn new file mode 100644 index 0000000..381bfbb --- /dev/null +++ b/gui/scoretable/scoretable.tscn @@ -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 diff --git a/levels/prototype.tscn b/levels/prototype.tscn index d42f582..69834a6 100644 --- a/levels/prototype.tscn +++ b/levels/prototype.tscn @@ -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 diff --git a/multiplayer/session.gd b/multiplayer/session.gd index 99b7ace..d96bd4b 100644 --- a/multiplayer/session.gd +++ b/multiplayer/session.gd @@ -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() diff --git a/project.godot b/project.godot index 638ab73..947bf54 100644 --- a/project.godot +++ b/project.godot @@ -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]