mirror of
https://github.com/JHDev2006/Super-Mario-Bros.-Remastered-Public.git
synced 2025-10-21 23:18:11 +00:00
70 lines
1.8 KiB
GDScript
70 lines
1.8 KiB
GDScript
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:
|
|
can_continue = false
|
|
if Global.transitioning_scene:
|
|
await Global.transition_finished
|
|
await get_tree().create_timer(0.15, false).timeout
|
|
go_back_to_title()
|
|
|
|
|
|
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()
|