From 29a2d1f64beed7eb527de4d8a1725725cdd19fba Mon Sep 17 00:00:00 2001 From: nokoe Date: Mon, 1 Jul 2024 19:04:24 +0200 Subject: add time --- client/menu/overlay.gd | 18 +++++-- client/menu/overlay.tscn | 121 +++++++++++++++++++++++++++++++++++------------ 2 files changed, 104 insertions(+), 35 deletions(-) (limited to 'client/menu') diff --git a/client/menu/overlay.gd b/client/menu/overlay.gd index 0fc40f0b..92297704 100644 --- a/client/menu/overlay.gd +++ b/client/menu/overlay.gd @@ -7,11 +7,14 @@ var failed: int = 0 var completed: int = 0 var points: int = 0 -@onready var failed_label: Label = $Control/Paper/Margin/Lines/Line2/Failed -@onready var completed_label: Label = $Control/Paper/Margin/Lines/Line1/Completed -@onready var points_label: Label = $Control/Paper/Margin/Lines/Line3/Points +@onready var failed_label: Label = $Score/Paper/Margin/Lines/Line2/Failed +@onready var completed_label: Label = $Score/Paper/Margin/Lines/Line1/Completed +@onready var points_label: Label = $Score/Paper/Margin/Lines/Line3/Points +@onready var timer: Timer = $Timer +@onready var seconds_label: Label = $Time/Paper/Line/Seconds +@onready var decimals_label: Label = $Time/Paper/Line/Decimals -func update(failed_: int, completed_: int, points_: int): +func update(failed_: int, completed_: int, points_: int, time: float): if failed_ - failed: failed_label.text = str(failed_) failed_label.scale = LABEL_SCALE @@ -24,8 +27,15 @@ func update(failed_: int, completed_: int, points_: int): points_label.text = str(points_) points_label.scale = LABEL_SCALE points = points_ + timer.wait_time = time + + if timer.is_stopped(): + timer.start() 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.) points_label.scale = lerp(points_label.scale, Vector2(1, 1), delta * 4.) + var seconds: float = floor(timer.time_left) + seconds_label.text = str(int(seconds)) + decimals_label.text = "%01d" % int((timer.time_left - seconds) * 10) diff --git a/client/menu/overlay.tscn b/client/menu/overlay.tscn index 66e2a9f3..9745de5d 100644 --- a/client/menu/overlay.tscn +++ b/client/menu/overlay.tscn @@ -21,35 +21,40 @@ color_ramp = SubResource("Gradient_pkrjd") noise = SubResource("FastNoiseLite_k7p6k") [node name="Overlay" type="PanelContainer"] -anchors_preset = 1 -anchor_left = 1.0 +anchors_preset = 15 anchor_right = 1.0 -offset_left = -290.0 -offset_bottom = 125.0 -grow_horizontal = 0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 theme = ExtResource("1_4kujw") theme_override_styles/panel = SubResource("StyleBoxFlat_04ujj") script = ExtResource("2_kbjds") -[node name="Control" type="Control" parent="."] +[node name="Timer" type="Timer" parent="."] +wait_time = 30.0 + +[node name="Score" type="Control" parent="."] layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 +size_flags_horizontal = 8 +size_flags_vertical = 0 -[node name="Paper" type="TextureRect" parent="Control"] +[node name="Paper" type="TextureRect" parent="Score"] layout_mode = 1 -anchors_preset = 2 -anchor_top = 1.0 -anchor_bottom = 1.0 -offset_left = -88.0 -offset_top = -397.0 -offset_right = 424.0 -offset_bottom = 115.0 -grow_vertical = 0 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -214.0 +offset_top = -339.0 +offset_right = 298.0 +offset_bottom = 173.0 +grow_horizontal = 2 +grow_vertical = 2 rotation = 0.0610865 texture = SubResource("NoiseTexture2D_jq3d3") -[node name="Margin" type="MarginContainer" parent="Control/Paper"] +[node name="Margin" type="MarginContainer" parent="Score/Paper"] layout_mode = 1 anchors_preset = 2 anchor_top = 1.0 @@ -60,76 +65,130 @@ grow_vertical = 0 theme_override_constants/margin_left = 10 theme_override_constants/margin_bottom = 10 -[node name="Lines" type="VBoxContainer" parent="Control/Paper/Margin"] +[node name="Lines" type="VBoxContainer" parent="Score/Paper/Margin"] layout_mode = 2 size_flags_horizontal = 0 size_flags_vertical = 8 -[node name="Line1" type="HBoxContainer" parent="Control/Paper/Margin/Lines"] +[node name="Line1" type="HBoxContainer" parent="Score/Paper/Margin/Lines"] layout_mode = 2 -[node name="Label" type="Label" parent="Control/Paper/Margin/Lines/Line1"] +[node name="Label" type="Label" parent="Score/Paper/Margin/Lines/Line1"] layout_mode = 2 theme_override_colors/font_color = Color(0, 0, 0, 1) theme_override_fonts/font = ExtResource("3_u54fv") theme_override_font_sizes/font_size = 25 text = "Completed" -[node name="Spacer" type="Control" parent="Control/Paper/Margin/Lines/Line1"] +[node name="Spacer" type="Control" parent="Score/Paper/Margin/Lines/Line1"] layout_mode = 2 size_flags_horizontal = 3 -[node name="Completed" type="Label" parent="Control/Paper/Margin/Lines/Line1"] +[node name="Completed" type="Label" parent="Score/Paper/Margin/Lines/Line1"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 +auto_translate = false theme_override_colors/font_color = Color(0, 0.278431, 0, 1) theme_override_fonts/font = ExtResource("3_u54fv") theme_override_font_sizes/font_size = 35 text = "0" horizontal_alignment = 1 -[node name="Line2" type="HBoxContainer" parent="Control/Paper/Margin/Lines"] +[node name="Line2" type="HBoxContainer" parent="Score/Paper/Margin/Lines"] layout_mode = 2 -[node name="Label" type="Label" parent="Control/Paper/Margin/Lines/Line2"] +[node name="Label" type="Label" parent="Score/Paper/Margin/Lines/Line2"] layout_mode = 2 theme_override_colors/font_color = Color(0, 0, 0, 1) theme_override_fonts/font = ExtResource("3_u54fv") theme_override_font_sizes/font_size = 25 text = "Failed" -[node name="Spacer" type="Control" parent="Control/Paper/Margin/Lines/Line2"] +[node name="Spacer" type="Control" parent="Score/Paper/Margin/Lines/Line2"] layout_mode = 2 size_flags_horizontal = 3 -[node name="Failed" type="Label" parent="Control/Paper/Margin/Lines/Line2"] +[node name="Failed" type="Label" parent="Score/Paper/Margin/Lines/Line2"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 +auto_translate = false theme_override_colors/font_color = Color(0.505882, 0, 0, 1) theme_override_fonts/font = ExtResource("3_u54fv") theme_override_font_sizes/font_size = 35 text = "0" horizontal_alignment = 1 -[node name="Line3" type="HBoxContainer" parent="Control/Paper/Margin/Lines"] +[node name="Line3" type="HBoxContainer" parent="Score/Paper/Margin/Lines"] layout_mode = 2 -[node name="Label" type="Label" parent="Control/Paper/Margin/Lines/Line3"] +[node name="Label" type="Label" parent="Score/Paper/Margin/Lines/Line3"] layout_mode = 2 theme_override_colors/font_color = Color(0, 0, 0, 1) theme_override_fonts/font = ExtResource("3_u54fv") theme_override_font_sizes/font_size = 35 text = "Points" -[node name="Spacer" type="Control" parent="Control/Paper/Margin/Lines/Line3"] +[node name="Spacer" type="Control" parent="Score/Paper/Margin/Lines/Line3"] layout_mode = 2 size_flags_horizontal = 3 -[node name="Points" type="Label" parent="Control/Paper/Margin/Lines/Line3"] +[node name="Points" type="Label" parent="Score/Paper/Margin/Lines/Line3"] custom_minimum_size = Vector2(100, 0) layout_mode = 2 +auto_translate = false theme_override_colors/font_color = Color(0, 0, 0, 1) theme_override_fonts/font = ExtResource("3_u54fv") theme_override_font_sizes/font_size = 45 text = "0" horizontal_alignment = 1 + +[node name="Time" type="Control" parent="."] +layout_mode = 2 +size_flags_horizontal = 8 +size_flags_vertical = 8 + +[node name="Paper" type="TextureRect" parent="Time"] +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -193.0 +offset_top = -208.0 +offset_right = 319.0 +offset_bottom = 304.0 +grow_horizontal = 2 +grow_vertical = 2 +rotation = 0.0610865 +texture = SubResource("NoiseTexture2D_jq3d3") + +[node name="Line" type="HBoxContainer" parent="Time/Paper"] +layout_mode = 0 + +[node name="Seconds" type="Label" parent="Time/Paper/Line"] +custom_minimum_size = Vector2(100, 0) +layout_mode = 2 +auto_translate = false +theme_override_colors/font_color = Color(0, 0, 0, 1) +theme_override_fonts/font = ExtResource("3_u54fv") +theme_override_font_sizes/font_size = 45 +text = "300" +horizontal_alignment = 2 + +[node name="Point" type="Label" parent="Time/Paper/Line"] +layout_mode = 2 +auto_translate = false +theme_override_colors/font_color = Color(0, 0, 0, 1) +theme_override_fonts/font = ExtResource("3_u54fv") +theme_override_font_sizes/font_size = 45 +text = "." +horizontal_alignment = 1 + +[node name="Decimals" type="Label" parent="Time/Paper/Line"] +layout_mode = 2 +auto_translate = false +theme_override_colors/font_color = Color(0, 0, 0, 1) +theme_override_fonts/font = ExtResource("3_u54fv") +theme_override_font_sizes/font_size = 45 +text = "00" -- cgit v1.2.3-70-g09d2 From 9a3a48e429c6aafd3fc469396d12548998e695aa Mon Sep 17 00:00:00 2001 From: nokoe Date: Mon, 1 Jul 2024 19:36:16 +0200 Subject: failure sound --- client/audio/play_random.gd | 4 ++++ client/audio/play_random.tscn | 2 +- client/game.tscn | 1 + client/menu/sounds/failure.ogg | Bin 14740 -> 8296 bytes client/player/effect.gd | 17 +++++++++++------ 5 files changed, 17 insertions(+), 7 deletions(-) (limited to 'client/menu') diff --git a/client/audio/play_random.gd b/client/audio/play_random.gd index d702756d..efaad7d8 100644 --- a/client/audio/play_random.gd +++ b/client/audio/play_random.gd @@ -52,6 +52,10 @@ func play_random(): s.pitch_scale = randf_range(0.9, 1.1) s.play() +func stop_all(): + for s in sounds: + s.stop() + func start_autoplay(): autoplay = true play_random() diff --git a/client/audio/play_random.tscn b/client/audio/play_random.tscn index f9b20842..44f3a10b 100644 --- a/client/audio/play_random.tscn +++ b/client/audio/play_random.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=2 format=3 uid="uid://bncx0wul2ikrg"] +[gd_scene load_steps=2 format=3 uid="uid://bbyb6s110my8c"] [ext_resource type="Script" path="res://audio/play_random.gd" id="1_c8pxf"] diff --git a/client/game.tscn b/client/game.tscn index b44974b2..d71ae4be 100644 --- a/client/game.tscn +++ b/client/game.tscn @@ -29,6 +29,7 @@ script = ExtResource("6_fbxu8") [node name="FollowCamera" parent="." node_paths=PackedStringArray("target") instance=ExtResource("2_s8y6o")] transform = Transform3D(0.728777, 0.294253, -0.618303, 0, 0.902961, 0.429723, 0.684751, -0.313173, 0.658057, -2.36537, 1.99403, 3.29507) +current = true far = 150.0 target = NodePath("..") diff --git a/client/menu/sounds/failure.ogg b/client/menu/sounds/failure.ogg index cbe6db14..ef6d6ea4 100644 Binary files a/client/menu/sounds/failure.ogg and b/client/menu/sounds/failure.ogg differ diff --git a/client/player/effect.gd b/client/player/effect.gd index 8371d99d..fedf548f 100644 --- a/client/player/effect.gd +++ b/client/player/effect.gd @@ -1,18 +1,19 @@ # Undercooked - a game about cooking -# Copyright 2024 nokoe, tpart -# +# Copyright 2024 nokoe +# Copyright 2024 tpart +# # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, version 3 of the License only. -# +# # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. -# +# # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -# +# class_name Effect extends Node3D @@ -37,4 +38,8 @@ func set_effect(e: String): push_warning("effect %s unknown" % e) func clear_effect(): - $Stars.emitting = false + stars.emitting = false + success.stop() + angry.emitting = false + angry_grunt.stop_all() + failure.stop() -- cgit v1.2.3-70-g09d2