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:
@@ -4,7 +4,7 @@ extends MetaScreen
|
|||||||
## Full-screen, dark overlay with centered status text.
|
## Full-screen, dark overlay with centered status text.
|
||||||
## #724: Shows client version (from project.yaml) and protocol version below the 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 TEXT_COLOR := Color("#c8d0e0")
|
||||||
const VERSION_COLOR := Color("#667788")
|
const VERSION_COLOR := Color("#667788")
|
||||||
const FONT_SIZE := 18
|
const FONT_SIZE := 18
|
||||||
@@ -17,7 +17,7 @@ var _version_label: Label = null
|
|||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
closable_by_escape = false
|
closable_by_escape = false
|
||||||
visible = false
|
visible = false
|
||||||
mouse_filter = Control.MOUSE_FILTER_IGNORE
|
mouse_filter = Control.MOUSE_FILTER_STOP
|
||||||
set_anchors_and_offsets_preset(Control.PRESET_FULL_RECT)
|
set_anchors_and_offsets_preset(Control.PRESET_FULL_RECT)
|
||||||
_build_ui()
|
_build_ui()
|
||||||
|
|
||||||
|
|||||||
@@ -62,6 +62,11 @@ func _on_new_game() -> void:
|
|||||||
SimBridge.connect_to_sim()
|
SimBridge.connect_to_sim()
|
||||||
|
|
||||||
|
|
||||||
|
func _process(_delta: float) -> void:
|
||||||
|
if _waiting_for_catalog:
|
||||||
|
SimBridge.poll_snapshot()
|
||||||
|
|
||||||
|
|
||||||
func _ensure_loading_screen() -> void:
|
func _ensure_loading_screen() -> void:
|
||||||
if _loading_screen != null and is_instance_valid(_loading_screen):
|
if _loading_screen != null and is_instance_valid(_loading_screen):
|
||||||
return
|
return
|
||||||
|
|||||||
Reference in New Issue
Block a user