| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- extends Node
- @export var reset_level := false
- @export var has_menu := false
- var can_continue := false
- func _enter_tree() -> void:
- Global.level_theme = "Underground"
- Global.level_theme_changed.emit()
- AudioManager.stop_all_music()
- func _ready() -> void:
- get_tree().paused = false
- Global.lives = clamp(Global.lives, 0, 99)
- SpeedrunHandler.timer_active = false
- await get_tree().create_timer(0.1).timeout
- can_continue = true
- func _process(_delta: float) -> void:
- print(can_continue)
- if Input.is_action_just_pressed("jump_0") and can_continue:
- go_back_to_title()
- can_continue = false
- func go_back_to_title() -> void:
- if has_menu:
- $Timer.queue_free()
- has_menu = false
- $CanvasLayer/VBoxContainer.show()
- $CanvasLayer/VBoxContainer/SelectableLabel.grab_focus()
- elif not reset_level:
- quit_to_menu()
- else:
- continue_on()
- func continue_on() -> void:
- reset_values()
- LevelTransition.level_to_transition_to = Level.get_scene_string(Global.world_num, Global.level_num)
- Global.transition_to_scene("res://Scenes/Levels/LevelTransition.tscn")
- func quit_to_menu() -> void:
- reset_values()
- Global.transition_to_scene("res://Scenes/Levels/TitleScreen.tscn")
- func reset_values() -> void:
- if Global.world_num <= 8:
- ChallengeModeHandler.current_run_red_coins_collected = ChallengeModeHandler.red_coins_collected[Global.world_num - 1][Global.level_num - 1]
- Global.lives = 3
- Global.score = 0
- Global.player_power_states = "0000"
- Global.coins = 0
- if Global.current_game_mode == Global.GameMode.CHALLENGE:
- return
- match Settings.file.difficulty.game_over_behaviour:
- 0:
- Global.level_num = 1
- 1:
- pass
- 2:
- Global.level_num = 1
- Global.world_num = 1
- Global.reset_values()
- SaveManager.write_save()
|