This repository has been archived on 2026-05-26. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
magician/number_input.gd
T

39 lines
1.1 KiB
GDScript
Raw Normal View History

2025-07-18 11:28:03 +02:00
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
2025-07-18 11:28:03 +02:00
@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)
2025-07-18 11:28:03 +02:00
func _on_text_changed(new_text: String) -> void:
if new_text.is_empty():
2025-07-18 11:28:03 +02:00
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!"
2025-07-18 11:28:03 +02:00
else:
submit_button.disabled = false
error_label.text = ""
2025-07-18 12:53:43 +02:00
func _on_web_client_tcp_received_bet_request(disallowed_bet: int, current_round: 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})