Add full-length Step 3 Day 1 simulation

This commit is contained in:
hz
2026-07-14 16:54:11 -05:00
parent 8aaf7d61e9
commit 206a5c0124
19 changed files with 1520 additions and 32 deletions
+22 -3
View File
@@ -155,6 +155,18 @@ func _build_ui() -> void:
screens_container.add_child(review)
screens["review"] = review
var simulation_break := preload("res://scripts/ui/simulation_break.gd").new()
simulation_break.name = "SimulationBreak"
simulation_break.main = self
screens_container.add_child(simulation_break)
screens["simulation_break"] = simulation_break
var simulation_results := preload("res://scripts/ui/simulation_results.gd").new()
simulation_results.name = "SimulationResults"
simulation_results.main = self
screens_container.add_child(simulation_results)
screens["simulation_results"] = simulation_results
var profile := preload("res://scripts/ui/progress_profile.gd").new()
profile.name = "ProgressProfile"
profile.main = self
@@ -206,8 +218,10 @@ func _refresh_theme_button() -> void:
func _logout() -> void:
_close_app_menu()
if BlockSessionService.block_started:
if BlockSessionService.block_started and BlockSessionService.session_kind != "simulation":
BlockSessionService.finish_block()
elif BlockSessionService.session_kind == "simulation":
BlockSessionService.block_started = false
QuestionBankService.clear_questions()
AuthState.clear_session()
show_screen("login")
@@ -284,6 +298,7 @@ func _toggle_app_menu() -> void:
app_menu.position = (get_viewport_rect().size - app_menu.size) * 0.5
menu_exit_button.visible = current_screen_name == "player" and BlockSessionService.block_started
if menu_exit_button.visible:
menu_exit_button.text = "Leave (timer continues)" if BlockSessionService.session_kind == "simulation" else "Exit Run"
Style.style_chip(menu_exit_button, Style.AMBER)
BlockSessionService.pause_current_question_timer()
@@ -296,15 +311,19 @@ func _close_app_menu() -> void:
func _exit_run() -> void:
_close_app_menu()
if BlockSessionService.block_started:
if BlockSessionService.block_started and BlockSessionService.session_kind != "simulation":
BlockSessionService.finish_block()
elif BlockSessionService.session_kind == "simulation":
BlockSessionService.block_started = false
show_screen("selection", "step3")
func _open_profile_from_menu() -> void:
_close_app_menu()
if BlockSessionService.block_started:
if BlockSessionService.block_started and BlockSessionService.session_kind != "simulation":
BlockSessionService.finish_block()
elif BlockSessionService.session_kind == "simulation":
BlockSessionService.block_started = false
show_screen("profile")