hero-mark-2/menus/main_menu.gd

71 lines
2.2 KiB
GDScript

class_name MainMenu
extends Node
onready var continue_button = $Panel/Continue
func _ready():
Game.marathon_mode = false
Fade.fade_in(Options.transition_speed_secs)
#Grey out continue if no save files
SpeedrunTimer.visible = false
SpeedrunTimer.timer_running = false
yield(get_tree(),"idle_frame")
if Save.current_file and not Save.current_file.debug:
$Panel/Continue.grab_focus()
else:
$Panel/Body/GreyedContinue.visible = true
continue_button.visible = false
$Panel/FileSelect.grab_focus()
if Game.last_mm_button != null:
get_node(Game.last_mm_button).grab_focus()
else:
$Panel/FileSelect.grab_focus()
func _on_Continue_button_down():
Game.last_mm_button = "Panel/Continue"
Fade.fade_out(Options.transition_speed_secs)
yield(Fade, "fade_finished")
SceneManager.current_scene = load("res://menus/level_select_scholar.tscn").instance()
func _on_FileSelect_button_down():
Game.last_mm_button = @"Panel/FileSelect"
Fade.fade_out(Options.transition_speed_secs)
yield(Fade, "fade_finished")
SceneManager.current_scene = load("res://menus/file_select.tscn").instance()
func _on_Exit_button_down():
Game.last_mm_button = @"Panel/FileSelect"
Fade.fade_out(Options.transition_speed_secs)
yield(Fade, "fade_finished")
get_tree().quit()
func _on_SoundTest_button_down():
Game.last_mm_button = @"Panel/SoundTest"
Fade.fade_out(Options.transition_speed_secs)
yield(Fade, "fade_finished")
SceneManager.current_scene = load("res://menus/sound_test.tscn").instance()
func _on_HighScores_button_down() -> void:
Game.last_mm_button = @"Panel/HighScores"
Fade.fade_out(Options.transition_speed_secs)
yield(Fade, "fade_finished")
SceneManager.current_scene = load("res://menus/scoreboards_scholar.tscn").instance()
func _on_Options_button_down() -> void:
Game.last_mm_button = @"Panel/Options"
Fade.fade_out(Options.transition_speed_secs)
yield(Fade, "fade_finished")
SceneManager.current_scene = load("res://menus/options_menu.tscn").instance()
func _on_MarathonMode_button_down() -> void:
Game.last_mm_button = @"Panel/MarathonMode"
Fade.fade_out(Options.transition_speed_secs)
yield(Fade, "fade_finished")
SceneManager.current_scene = load("res://menus/marathon_start.tscn").instance()