feat(m4c): title screen is emit-only (routing moves to GameFlow)
This commit is contained in:
@@ -9,8 +9,6 @@ extends Control
|
|||||||
|
|
||||||
signal menu_activated(id: StringName)
|
signal menu_activated(id: StringName)
|
||||||
|
|
||||||
const SHELL := "res://scenes/shell/MainWindowShell.tscn"
|
|
||||||
|
|
||||||
var _rows: Array = []
|
var _rows: Array = []
|
||||||
var _sel: int = 0
|
var _sel: int = 0
|
||||||
|
|
||||||
@@ -44,7 +42,6 @@ func _ready() -> void:
|
|||||||
_wire_row_mouse()
|
_wire_row_mouse()
|
||||||
|
|
||||||
_footer_left.text = Version.new().footer()
|
_footer_left.text = Version.new().footer()
|
||||||
menu_activated.connect(_on_menu_activated)
|
|
||||||
_update_selection()
|
_update_selection()
|
||||||
|
|
||||||
|
|
||||||
@@ -128,16 +125,6 @@ func _activate(i: int) -> void:
|
|||||||
menu_activated.emit(_rows[i].get_meta("action"))
|
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:
|
func _update_selection() -> void:
|
||||||
for i in range(_rows.size()):
|
for i in range(_rows.size()):
|
||||||
var row: Control = _rows[i]
|
var row: Control = _rows[i]
|
||||||
|
|||||||
@@ -38,8 +38,7 @@ func test_up_from_first_wraps_to_last():
|
|||||||
|
|
||||||
func test_new_game_and_quit_emit_their_action():
|
func test_new_game_and_quit_emit_their_action():
|
||||||
var t := _title()
|
var t := _title()
|
||||||
# Isolate the signal seam so the test does not actually change scene / quit.
|
# Title is emit-only now: no internal handler to isolate. Just watch the emit.
|
||||||
t.menu_activated.disconnect(t._on_menu_activated)
|
|
||||||
watch_signals(t)
|
watch_signals(t)
|
||||||
t._activate(_index_of(t, &"new_game"))
|
t._activate(_index_of(t, &"new_game"))
|
||||||
assert_signal_emitted_with_parameters(t, "menu_activated", [&"new_game"])
|
assert_signal_emitted_with_parameters(t, "menu_activated", [&"new_game"])
|
||||||
|
|||||||
Reference in New Issue
Block a user