# love_ui_test — 情侣状态窗随 GC_LOVER_INFO / LOVE_POINT_UPDATE 的桥接信号更新。 extends SceneTree const LoveUI = preload("res://ui/love_ui.gd") class FakeClient extends Node: signal lover_changed(lover: Dictionary) var lover := {"valid": false, "name": "", "love_point": 0} func get_lover() -> Dictionary: return lover var failed := 0 func _check(ok: bool, message: String) -> void: if not ok: failed += 1 printerr("FAIL: " + message) func _init() -> void: await _run() if failed == 0: print("PASS: love_ui_test (lover state panel)") quit(0) else: quit(1) func _run() -> void: var canvas := CanvasLayer.new() var client := FakeClient.new() var love := LoveUI.new() get_root().add_child(canvas) get_root().add_child(client) get_root().add_child(love) love.setup(client, canvas) _check(not love._root.visible, "no lover keeps panel hidden") client.lover = {"valid": true, "name": "Partner", "love_point": 63} client.lover_changed.emit(client.lover) await process_frame _check(love._root.visible, "lover info shows panel") _check(love._name.text == "♥ Partner", "lover name rendered") _check(int(love._bar.value) == 63, "lover point rendered") client.lover["love_point"] = 88 client.lover_changed.emit(client.lover) await process_frame _check(int(love._bar.value) == 88, "love point update refreshes bar")