Add title load slot selection

This commit is contained in:
2026-06-19 23:51:19 +09:00
parent 0e52fdd68f
commit c410b06d6c
4 changed files with 189 additions and 21 deletions

View File

@@ -57,6 +57,10 @@ func _check_title_menu_start_load_and_settings(failures: Array[String]) -> void:
failures.append("title screen should expose Game Load")
elif not scene.title_load_button.disabled:
failures.append("Game Load should be disabled when no save exists")
if scene.title_load_panel == null:
failures.append("title screen should create a load-slot selection panel")
elif scene.title_load_panel.visible:
failures.append("load-slot selection panel should stay hidden until Game Load is pressed")
if scene.title_settings_button == null or scene.title_settings_button.text != "환경 설정":
failures.append("title screen should expose Settings")
@@ -118,12 +122,35 @@ func _check_title_menu_start_load_and_settings(failures: Array[String]) -> void:
failures.append("finishing the opening prologue should enter the first briefing")
if not scene.campaign_state.has_save():
failures.append("starting a new game should create the main campaign save")
if not scene.campaign_state.save_manual_game():
failures.append("manual checkpoint should be writable for title load selection")
scene._show_title_menu()
scene._update_title_menu_state()
if scene.title_load_button == null or scene.title_load_button.disabled:
failures.append("Game Load should become available after a campaign save exists")
scene._on_title_load_pressed()
if scene.title_load_panel == null or not scene.title_load_panel.visible:
failures.append("Game Load should open a load-slot selection panel instead of loading immediately")
if scene.title_start_button != null and scene.title_start_button.visible:
failures.append("load-slot selection should replace the main title commands while open")
if scene.title_load_auto_button == null or scene.title_load_auto_button.disabled:
failures.append("load-slot selection should enable the automatic campaign save")
elif not scene.title_load_auto_button.text.contains("자동 기록"):
failures.append("automatic load slot should be labeled in Korean")
if scene.title_load_manual_button == null or scene.title_load_manual_button.disabled:
failures.append("load-slot selection should enable the manual checkpoint save")
elif not scene.title_load_manual_button.text.contains("수동 봉인"):
failures.append("manual load slot should be labeled in Korean")
scene._show_title_menu()
if scene.title_load_panel != null and scene.title_load_panel.visible:
failures.append("showing the title menu again should reset the load-slot panel")
scene._on_title_load_pressed()
scene._on_title_load_back_pressed()
if scene.title_load_panel != null and scene.title_load_panel.visible:
failures.append("load-slot back should close the title load panel")
scene._on_title_load_pressed()
scene._on_title_load_auto_pressed()
if scene.title_screen_root != null and scene.title_screen_root.visible:
failures.append("loading a saved game should hide the title screen")
if scene._is_opening_prologue_visible():