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.
35 lines
1.1 KiB
GDScript
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
|