online multiplayer chess game (note server currently down)
Diffstat (limited to 'ui/menus/lobby/Lobby.gd')
| -rw-r--r-- | ui/menus/lobby/Lobby.gd | 111 |
1 files changed, 0 insertions, 111 deletions
diff --git a/ui/menus/lobby/Lobby.gd b/ui/menus/lobby/Lobby.gd deleted file mode 100644 index f4c2ca5..0000000 --- a/ui/menus/lobby/Lobby.gd +++ /dev/null @@ -1,111 +0,0 @@ -extends Control -class_name Lobby - -onready var address: LineEdit = $"%Address" -onready var buttons := $"%buttons" -onready var status_ok := $"%StatusOK" -onready var status_fail := $"%StatusFail" -onready var hostbutton := $"%HostButton" -onready var gameconfig := $"%GameConfig" - - -func toggle(onoff: bool) -> void: - get_parent().get_parent().visible = onoff - - -func _ready() -> void: - address.grab_focus() - address.caret_position = len(address.text) - PacketHandler.lobby = self - PacketHandler.connect("hosting", $"%stophost", "set_visible") - PacketHandler.connect("connection_established", self, "reset") - gameconfig.connect("back", self, "reset") - if !Utils.internet: - set_status("no internet", false) - set_buttons(false) - - -func reset(): - set_status("", true) - set_buttons(true) - - -func host(color: bool, moves: PoolStringArray) -> void: - PacketHandler.host_game(PacketHandler.game_code, color, moves) - - -func focus(): - get_parent().current_tab = get_parent().get_children().find(self) - - -func set_status(text: String, isok: bool) -> void: # Simple way to show status. - if isok: - status_ok.text = text - status_fail.text = "" - else: - status_ok.text = ("") - status_fail.text = (text) - status_ok.visible = len(status_ok.text) > 0 - status_fail.visible = len(status_fail.text) > 0 - - -func set_buttons(enabled := true) -> void: - for c in buttons.get_children(): - c.disabled = !enabled - address.editable = enabled - - -func _on_join_pressed() -> void: - if validate_text(): - set_buttons(false) - PacketHandler.join_game() - else: - set_status("Invalid game code", false) - - -func _on_HostButton_pressed() -> void: - if gameconfig.visible: - if not validate_text(): - set_status("Invalid game code", false) - return - gameconfig.hide() - host(gameconfig.color, gameconfig.moves) - set_buttons(false) - return - if validate_text(): - for c in buttons.get_children().slice(0, 1): - c.disabled = true - gameconfig.show() - else: - set_status("Invalid game code", false) - - -func validate_text(text := address.get_text()) -> String: - var pos := address.caret_position - text = clean_text(text) - address.text = text - address.caret_position = pos - PacketHandler.game_code = text - return text - - -func clean_text(text: String) -> String: - text = text.strip_edges() - return text.replace(" ", "_") - - -func _on_Address_text_entered(new_text: String) -> void: - validate_text(new_text) - - -func _on_spectate_pressed(): - if validate_text(): - set_buttons(false) - PacketHandler.spectate() - else: - set_status("Invalid address", false) - - -func _on_stophost_pressed() -> void: - PacketHandler.return() - reset() |