fix(ui): loading screen blocks input + main menu polls during catalog wait

- loading_screen: opaque BG (was 0.75 alpha) + mouse_filter STOP so the
  loading state genuinely occludes the underlying screen
- main_menu: poll SimBridge.poll_snapshot in _process while waiting for
  the bookmark catalog so the new-game flow doesn't stall on the
  catalog round-trip introduced in Workstream 3 (#680)
This commit is contained in:
2026-04-21 09:48:00 +02:00
parent c68197f86a
commit 9d09ee548e
2 changed files with 7 additions and 2 deletions
@@ -4,7 +4,7 @@ extends MetaScreen
## Full-screen, dark overlay with centered status text.
## #724: Shows client version (from project.yaml) and protocol version below the status text.
const BG_COLOR := Color(0.0, 0.0, 0.0, 0.75)
const BG_COLOR := Color(0.05, 0.05, 0.08, 1.0)
const TEXT_COLOR := Color("#c8d0e0")
const VERSION_COLOR := Color("#667788")
const FONT_SIZE := 18
@@ -17,7 +17,7 @@ var _version_label: Label = null
func _ready() -> void:
closable_by_escape = false
visible = false
mouse_filter = Control.MOUSE_FILTER_IGNORE
mouse_filter = Control.MOUSE_FILTER_STOP
set_anchors_and_offsets_preset(Control.PRESET_FULL_RECT)
_build_ui()
@@ -62,6 +62,11 @@ func _on_new_game() -> void:
SimBridge.connect_to_sim()
func _process(_delta: float) -> void:
if _waiting_for_catalog:
SimBridge.poll_snapshot()
func _ensure_loading_screen() -> void:
if _loading_screen != null and is_instance_valid(_loading_screen):
return