From 6b10b6ea6cb7767efbe7489f95a2b691c008e78a Mon Sep 17 00:00:00 2001 From: Phillip Tarrant Date: Wed, 15 Jul 2026 04:10:10 -0500 Subject: [PATCH] feat(m4c): title screen is emit-only (routing moves to GameFlow) --- client/scripts/ui/title/title_screen.gd | 13 ------------- client/tests/unit/test_title_screen.gd | 3 +-- 2 files changed, 1 insertion(+), 15 deletions(-) diff --git a/client/scripts/ui/title/title_screen.gd b/client/scripts/ui/title/title_screen.gd index df98673..f552c0d 100644 --- a/client/scripts/ui/title/title_screen.gd +++ b/client/scripts/ui/title/title_screen.gd @@ -9,8 +9,6 @@ extends Control signal menu_activated(id: StringName) -const SHELL := "res://scenes/shell/MainWindowShell.tscn" - var _rows: Array = [] var _sel: int = 0 @@ -44,7 +42,6 @@ func _ready() -> void: _wire_row_mouse() _footer_left.text = Version.new().footer() - menu_activated.connect(_on_menu_activated) _update_selection() @@ -128,16 +125,6 @@ func _activate(i: int) -> void: menu_activated.emit(_rows[i].get_meta("action")) -func _on_menu_activated(id: StringName) -> void: - match id: - &"new_game": - get_tree().change_scene_to_file(SHELL) - &"quit": - get_tree().quit() - _: - pass # inert placeholder — the screen lands in a later milestone - - func _update_selection() -> void: for i in range(_rows.size()): var row: Control = _rows[i] diff --git a/client/tests/unit/test_title_screen.gd b/client/tests/unit/test_title_screen.gd index 2be0fa5..2896287 100644 --- a/client/tests/unit/test_title_screen.gd +++ b/client/tests/unit/test_title_screen.gd @@ -38,8 +38,7 @@ func test_up_from_first_wraps_to_last(): func test_new_game_and_quit_emit_their_action(): var t := _title() - # Isolate the signal seam so the test does not actually change scene / quit. - t.menu_activated.disconnect(t._on_menu_activated) + # Title is emit-only now: no internal handler to isolate. Just watch the emit. watch_signals(t) t._activate(_index_of(t, &"new_game")) assert_signal_emitted_with_parameters(t, "menu_activated", [&"new_game"])