extends Control # var main_scene := preload("res://scene/main.tscn") as PackedScene @onready var animation_root = $AnimationRoot as Control @onready var sfx_click = %SfxClick as Sfx @onready var newgame_btn = %NewGame as Button @onready var resume_btn = %Resume as Button @onready var quit_btn = %Quit as Button @onready var mask = $Mask as ColorRect func _ready(): if GlobalConfig.DEBUG: print("Index Page Ready") newgame_btn.pressed.connect(_on_newgame_pressed) resume_btn.pressed.connect(_on_resume_pressed) quit_btn.pressed.connect(_on_quit_pressed) _check_resume_btn() create_tween().tween_property(mask, "modulate:a", 0.0, 1.0) func _check_resume_btn(): if not ArchiveManager.archives.has(1): resume_btn.queue_free() func _on_newgame_pressed(): sfx_click.global_play() # 覆盖使用 1 号存档 ArchiveManager.create_and_use_new_archive(1) _enter_main_scene(true) func _on_resume_pressed(): sfx_click.global_play() # 继续一号存档 if GlobalConfig.DEBUG: print("Resume") if ArchiveManager.archives.has(1): # 设置 current_selected_archive_id 后,存档会自动加载 GlobalConfigManager.config.current_selected_archive_id = 1 else: ArchiveManager.create_and_use_new_archive(1) _enter_main_scene() func _enter_main_scene(new_game := false): # new game 时音量渐隐 var duraion = 0.0 if new_game: duraion = 5.0 $BgmControl.stop(duraion) SceneManager.enter_main_scene() func _on_quit_pressed(): # 退出时点击音效将无法播放 #sfx_click.global_play() SceneManager.quit_game() func _unhandled_input(event: InputEvent) -> void: if event.is_action_pressed("escape"): get_viewport().set_input_as_handled() SceneManager.show_settings()