class_name NumberEdit extends LineEdit ## Only allows numeric input, discards everything else. var _regex: RegEx = RegEx.new() var _disallowed_bet: String = "3" @export var error_label: Label @export var disallowed_bet_label: Label @export var submit_button: Button func _ready() -> void: _regex.compile("[^\\d]") submit_button.disabled = true func set_disallowed_bet(bet: int) -> void: _disallowed_bet = str(bet) func _on_text_changed(new_text: String) -> void: if new_text.is_empty(): submit_button.disabled = true error_label.text = "" elif _regex.search(new_text): submit_button.disabled = true error_label.text = "Numbers only!" elif new_text == _disallowed_bet: submit_button.disabled = true error_label.text = "Not allowed!" else: submit_button.disabled = false error_label.text = "" func _on_web_client_tcp_received_bet_request(disallowed_bet: int) -> void: set_disallowed_bet(disallowed_bet) if disallowed_bet == -1: disallowed_bet_label.text = "Bet anything" else: disallowed_bet_label.text = "Disallowed bet: {bet}".format({"bet": disallowed_bet})