bet input now responds to inputs with (error) messages

This commit is contained in:
2025-07-18 11:38:23 +02:00
parent 47ec5b5ac0
commit d778539e3d
2 changed files with 33 additions and 3 deletions
+22 -1
View File
@@ -4,14 +4,35 @@ 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() or _regex.search(new_text):
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})