d2da661452
Das Startmenü fragt nach dem Namen und bietet allein spielen, die Welt öffnen oder beitreten. Die Figuren der anderen Spieler gleiten zu ihrer neuesten Position und tragen ihren Namen. Die Anzeige füllt Werte in Meldungen ein und hat eine Statuszeile. Die Texte für Menü und Netzwerk gibt es auf Deutsch und Englisch. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
38 lines
1.2 KiB
GDScript
38 lines
1.2 KiB
GDScript
extends TestCase
|
|
|
|
|
|
func _menu() -> Menu:
|
|
I18n.install()
|
|
var menu := Menu.new()
|
|
tree.root.add_child(menu)
|
|
return menu
|
|
|
|
|
|
func _free(menu: Menu) -> void:
|
|
tree.root.remove_child(menu)
|
|
menu.free()
|
|
|
|
|
|
func test_the_buttons_say_what_the_player_chose() -> void:
|
|
var menu := _menu()
|
|
var chosen: Array = []
|
|
menu.play_chosen.connect(func(open: bool) -> void: chosen.append(["play", open]))
|
|
menu.join_chosen.connect(func(address: String) -> void: chosen.append(["join", address]))
|
|
menu.address_field.text = " 192.168.178.20:25000 "
|
|
menu.solo_button.pressed.emit()
|
|
menu.host_button.pressed.emit()
|
|
menu.join_button.pressed.emit()
|
|
menu.address_field.text_submitted.emit(menu.address_field.text)
|
|
check_eq(chosen, [["play", false], ["play", true], ["join", "192.168.178.20:25000"], ["join", "192.168.178.20:25000"]], "in order")
|
|
_free(menu)
|
|
|
|
|
|
func test_the_name_and_the_status_line() -> void:
|
|
var menu := _menu()
|
|
menu.name_field.text = " Ada "
|
|
check_eq(menu.player_name(), "Ada", "without the spaces around it")
|
|
menu.show_status("Verbinde …")
|
|
check_eq(menu.status(), "Verbinde …", "the status is shown")
|
|
check_eq(menu.solo_button.text, tr("MENU_SOLO"), "the labels come from the texts")
|
|
_free(menu)
|