Files
step3/scripts/ui/navigation_routes.gd
T
hz 94de696af1 Fix shield icon rendering, move slot machine to a movable panel
The shield icon's dark/mushy rendering was caused by disabled mipmaps
on all 6 slot-machine icon textures (inherited from the flat lucide
icon convention, wrong for these gradient-heavy assets) - at small
display sizes this caused aliasing that hit the shield's fine detail
(RZ lettering, metallic bevels) hardest since the other icons are
bolder/simpler shapes. Enabling mipmaps/generate on all 6 fixes it;
confirmed by rendering the actual in-game presentation size before
and after, not just eyeballing the source file.

Also converts the slot machine from a full standalone screen (sidebar
nav entry, main.gd-managed) into a movable/draggable floating panel
opened from the question-player toolbar, mirroring the existing
calculator panel exactly: same top_level+custom title-bar-drag+
viewport-clamp mechanics, same open/close/toggle API, instantiated
once alongside the calculator and closed on session hide. Shrunk the
cabinet and restacked the rewards list below it (was beside it) to
fit a toolbox-sized floating panel instead of a full page, wrapped in
a ScrollContainer for any overflow.

Removed the sidebar entry and screens[] registration from main.gd and
the now-dead routing case from navigation_routes.gd.
2026-07-30 05:18:51 -05:00

35 lines
1.1 KiB
GDScript

extends RefCounted
static func key_for_screen(screen_name: String, payload: Variant = null) -> String:
var key := "home"
if screen_name == "dashboard":
key = "home"
elif screen_name == "selection":
key = "question_bank" if str(payload) == "question_bank" else "home"
elif screen_name in ["map", "setup", "review"]:
key = "study_plan" if screen_name == "map" else "question_bank"
elif screen_name == "player":
key = "dynamic_questions" if BlockSessionService.session_kind == "dynamic" else "question_bank"
elif screen_name == "dynamic_questions":
key = "dynamic_questions"
elif screen_name.begins_with("simulation_"):
key = "exams"
elif screen_name.begins_with("ccs_"):
key = "ccs"
elif screen_name.begins_with("flashcards_"):
key = "flashcards"
elif screen_name == "profile":
key = "performance"
elif screen_name == "settings":
key = "settings"
elif screen_name == "notes":
key = "notes"
elif screen_name == "bookmarks":
key = "bookmarks"
elif screen_name == "donations":
key = "donations"
elif screen_name == "rz_store":
key = "rz_store"
return key