feat: retry level completely, fix: timer hud pause

This commit is contained in:
Jakob Feldmann 2023-10-11 17:25:01 +02:00
parent 8cf677677f
commit 38a2bb0594
8 changed files with 53 additions and 25 deletions

View File

@ -93,12 +93,11 @@ func set_savepoint(levelName: String, position: Vector2) -> void:
func remove_savepoint(levelName: String) -> void:
if !gsr.progress_dict.has(levelName):
return
gsr.progress_dict[levelName].erase(levelName)
gsr.progress_dict[levelName].erase("savepoint")
gsr.progress_dict[levelName].erase("uncompletedleveltime")
SaveManager.save_default()
func get_property_value(levelName: String, propertyName: String) -> int:
if gsr.progress_dict.has(levelName) && gsr.progress_dict[levelName].has(propertyName):
return gsr.progress_dict[levelName][propertyName]

View File

@ -41,7 +41,7 @@ resource_name = "LowPassFilter"
cutoff_hz = 3000.0
[resource]
bus/0/volume_db = inf_neg
bus/0/volume_db = -12.3958
bus/1/name = "Music"
bus/1/solo = false
bus/1/mute = false

View File

@ -3,5 +3,5 @@ extends AudibleButton
onready var level_state := get_tree().root.get_child(4).get_node("%LevelState")
func _on_button_up() -> void:
get_tree().paused = false
get_tree().reload_current_scene()
get_tree().paused = false
get_tree().reload_current_scene()

View File

@ -0,0 +1,8 @@
extends AudibleButton
onready var level_state := get_tree().root.get_child(4).get_node("%LevelState")
func _on_button_up() -> void:
GlobalState.remove_savepoint(level_state.levelName)
get_tree().paused = false
get_tree().reload_current_scene()

View File

@ -0,0 +1,12 @@
[gd_scene load_steps=2 format=2]
[ext_resource path="res://src/UserInterface/Buttons/RetryCompleteButton.gd" type="Script" id=1]
[node name="RetryCompleteButton" type="Button"]
margin_right = 139.0
margin_bottom = 78.0
size_flags_vertical = 3
text = "Retry Level"
script = ExtResource( 1 )
[connection signal="button_up" from="." to="." method="_on_button_up"]

View File

@ -56,7 +56,7 @@ tracks/0/keys = {
}
[node name="HUD" type="Control"]
pause_mode = 2
pause_mode = 1
anchor_right = 1.0
anchor_bottom = 1.0
mouse_filter = 1

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=44 format=2]
[gd_scene load_steps=45 format=2]
[ext_resource path="res://assets/meta/ui_theme.tres" type="Theme" id=1]
[ext_resource path="res://assets/ui/sci-fi-godot-theme/sci-fi-theme.tres" type="Theme" id=2]
@ -29,6 +29,7 @@
[ext_resource path="res://addons/controller_icons/assets/key/arrow_down.png" type="Texture" id=27]
[ext_resource path="res://src/UserInterface/Screens/MainMenu/AudioSlider.gd" type="Script" id=28]
[ext_resource path="res://src/UserInterface/Buttons/MenuNavigationButton.gd" type="Script" id=29]
[ext_resource path="res://src/UserInterface/Buttons/RetryCompleteButton.tscn" type="PackedScene" id=30]
[sub_resource type="Gradient" id=17]
interpolation_mode = 2
@ -865,7 +866,7 @@ focus_mode = 2
[node name="Continue" type="Button" parent="PauseOverlay/Panel/VBoxContainer"]
unique_name_in_owner = true
margin_right = 222.0
margin_bottom = 46.0
margin_bottom = 38.0
focus_neighbour_top = NodePath("../MainMenuButton")
focus_neighbour_bottom = NodePath("../Controls")
size_flags_vertical = 3
@ -873,9 +874,9 @@ text = "Continue"
script = ExtResource( 6 )
[node name="Controls" type="Button" parent="PauseOverlay/Panel/VBoxContainer"]
margin_top = 50.0
margin_top = 42.0
margin_right = 222.0
margin_bottom = 97.0
margin_bottom = 80.0
focus_neighbour_top = NodePath("../Continue")
focus_neighbour_bottom = NodePath("../Audio")
size_flags_vertical = 3
@ -883,27 +884,35 @@ text = "Controls"
script = ExtResource( 23 )
[node name="Audio" type="Button" parent="PauseOverlay/Panel/VBoxContainer"]
margin_top = 101.0
margin_top = 84.0
margin_right = 222.0
margin_bottom = 148.0
margin_bottom = 122.0
focus_neighbour_top = NodePath("../Controls")
focus_neighbour_bottom = NodePath("../RetryButton")
focus_neighbour_bottom = NodePath("../RetryCheckpoint")
size_flags_vertical = 3
text = "Audio"
script = ExtResource( 23 )
[node name="RetryButton" parent="PauseOverlay/Panel/VBoxContainer" instance=ExtResource( 4 )]
margin_top = 152.0
[node name="RetryCheckpoint" parent="PauseOverlay/Panel/VBoxContainer" instance=ExtResource( 4 )]
margin_top = 126.0
margin_right = 222.0
margin_bottom = 199.0
margin_bottom = 165.0
focus_neighbour_top = NodePath("../Audio")
focus_neighbour_bottom = NodePath("../RetryLevel")
text = "Retry Checkpoint"
[node name="RetryLevel" parent="PauseOverlay/Panel/VBoxContainer" instance=ExtResource( 30 )]
margin_top = 169.0
margin_right = 222.0
margin_bottom = 207.0
focus_neighbour_top = NodePath("../RetryCheckpoint")
focus_neighbour_bottom = NodePath("../MainMenuButton")
[node name="MainMenuButton" parent="PauseOverlay/Panel/VBoxContainer" instance=ExtResource( 3 )]
margin_top = 203.0
margin_top = 211.0
margin_right = 222.0
margin_bottom = 250.0
focus_neighbour_top = NodePath("../RetryButton")
focus_neighbour_top = NodePath("../RetryLevel")
focus_neighbour_bottom = NodePath("../Continue")
text = "Main Menu"
script = ExtResource( 29 )

View File

@ -1,9 +1,9 @@
extends AudibleButton
func _on_button_up() -> void:
if(!$"../..".changes_made || $"../..".changes_saved):
$"%ControlsMenu".close()
get_tree().set_input_as_handled()
else:
set_process_input(false)
$"%ReallyQuitMenu".open()
if(!$"../..".changes_made || $"../..".changes_saved):
$"%ControlsMenu".close()
get_tree().set_input_as_handled()
else:
set_process_input(false)
$"%ReallyQuitMenu".open()