diff options
Diffstat (limited to 'client')
-rw-r--r-- | client/game.gd | 2 | ||||
-rw-r--r-- | client/game.tscn | 5 | ||||
-rw-r--r-- | client/menu/overlay.gd | 24 | ||||
-rw-r--r-- | client/menu/overlay.tscn | 62 | ||||
-rw-r--r-- | client/multiplayer.gd | 1 |
5 files changed, 93 insertions, 1 deletions
diff --git a/client/game.gd b/client/game.gd index abb04bc6..6f5f376e 100644 --- a/client/game.gd +++ b/client/game.gd @@ -176,6 +176,8 @@ func _ready(): map.autobake = false await transition.fade_out() ) + + mp.score.connect($Overlay.update) func _process(delta): marker.position = lerp(marker.position, marker_target, delta * 40.0) diff --git a/client/game.tscn b/client/game.tscn index 7c90d833..eab73acc 100644 --- a/client/game.tscn +++ b/client/game.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=10 format=3 uid="uid://c6krh36hoqfg8"] +[gd_scene load_steps=11 format=3 uid="uid://c6krh36hoqfg8"] [ext_resource type="Script" path="res://game.gd" id="1_sftfn"] [ext_resource type="PackedScene" uid="uid://b31mlnao6ybt8" path="res://player/follow_camera.tscn" id="2_s8y6o"] @@ -6,6 +6,7 @@ [ext_resource type="PackedScene" uid="uid://bg2d78ycorcqk" path="res://menu/scene_transition.tscn" id="5_yg6cl"] [ext_resource type="Script" path="res://multiplayer.gd" id="6_fbxu8"] [ext_resource type="PackedScene" uid="uid://b4gone8fu53r7" path="res://map/map.tscn" id="6_prg6t"] +[ext_resource type="PackedScene" uid="uid://bpikve6wlsjfl" path="res://menu/overlay.tscn" id="7_7xrr6"] [sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_py7px"] ground_bottom_color = Color(0.0826605, 0.065772, 0.0461518, 1) @@ -47,3 +48,5 @@ ingame = true auto_fade_in = false [node name="Map" parent="." instance=ExtResource("6_prg6t")] + +[node name="Overlay" parent="." instance=ExtResource("7_7xrr6")] diff --git a/client/menu/overlay.gd b/client/menu/overlay.gd new file mode 100644 index 00000000..23efa209 --- /dev/null +++ b/client/menu/overlay.gd @@ -0,0 +1,24 @@ +class_name Overlay +extends PanelContainer + +const LABEL_SCALE: Vector2 = Vector2(1.5, 1.5) + +var failed: int = 0 +var completed: int = 0 + +@onready var failed_label: Label = $VBoxContainer/HBoxContainer2/Failed +@onready var completed_label: Label = $VBoxContainer/HBoxContainer/Completed + +func update(failed_: int, completed_: int): + if failed_ - failed: + failed_label.text = str(failed_) + failed_label.scale = LABEL_SCALE + failed = failed_ + if completed_ - completed: + completed_label.text = str(completed_) + completed_label.scale = LABEL_SCALE + completed = completed_ + +func _process(delta): + failed_label.scale = lerp(failed_label.scale, Vector2(1, 1), delta * 4.) + completed_label.scale = lerp(completed_label.scale, Vector2(1, 1), delta * 4.) diff --git a/client/menu/overlay.tscn b/client/menu/overlay.tscn new file mode 100644 index 00000000..46beae0f --- /dev/null +++ b/client/menu/overlay.tscn @@ -0,0 +1,62 @@ +[gd_scene load_steps=4 format=3 uid="uid://bpikve6wlsjfl"] + +[ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme.tres" id="1_4kujw"] +[ext_resource type="Script" path="res://menu/overlay.gd" id="2_kbjds"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_04ujj"] +bg_color = Color(0, 0, 0, 0) + +[node name="Overlay" type="PanelContainer"] +custom_minimum_size = Vector2(250, 0) +anchors_preset = 1 +anchor_left = 1.0 +anchor_right = 1.0 +offset_left = -40.0 +offset_bottom = 40.0 +grow_horizontal = 0 +theme = ExtResource("1_4kujw") +theme_override_styles/panel = SubResource("StyleBoxFlat_04ujj") +script = ExtResource("2_kbjds") + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +layout_mode = 2 + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"] +layout_mode = 2 + +[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer"] +layout_mode = 2 +theme_override_colors/font_color = Color(0.513233, 0.513233, 0.513233, 1) +theme_override_font_sizes/font_size = 40 +text = "Completed" + +[node name="Control" type="Control" parent="VBoxContainer/HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 3 + +[node name="Completed" type="Label" parent="VBoxContainer/HBoxContainer"] +custom_minimum_size = Vector2(100, 0) +layout_mode = 2 +theme_override_font_sizes/font_size = 40 +text = "0" +horizontal_alignment = 1 + +[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer"] +layout_mode = 2 + +[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer2"] +layout_mode = 2 +theme_override_colors/font_color = Color(0.513726, 0.513726, 0.513726, 1) +theme_override_font_sizes/font_size = 40 +text = "Failed" + +[node name="Control" type="Control" parent="VBoxContainer/HBoxContainer2"] +layout_mode = 2 +size_flags_horizontal = 3 + +[node name="Failed" type="Label" parent="VBoxContainer/HBoxContainer2"] +custom_minimum_size = Vector2(100, 0) +layout_mode = 2 +theme_override_font_sizes/font_size = 40 +text = "0" +horizontal_alignment = 1 diff --git a/client/multiplayer.gd b/client/multiplayer.gd index eb85898c..00bf193b 100644 --- a/client/multiplayer.gd +++ b/client/multiplayer.gd @@ -175,6 +175,7 @@ func handle_packet(bytes: PackedByteArray): "score": var demands_failed: int = decoded["demands_failed"] var demands_completed: int = decoded["demands_completed"] + emit_signal("score", demands_failed, demands_completed) _: push_error("Unrecognized packet type: %s" % packet_type) |