Files
Super-Mario-Bros.-Remastere…/Scripts/UI/TextValidator.gd
2025-10-17 19:23:13 +01:00

19 lines
569 B
GDScript

class_name TextValidator
extends Node
const valid_chars := "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-*!.^/+:,'()?_;<> \n"
@export var node_to_validate: Control = null
const FONT = preload("res://Assets/Sprites/UI/Font.fnt")
signal text_validated(new_text: String)
func validate_text() -> void:
var idx := 0
var text = node_to_validate.text.to_upper()
node_to_validate.clear()
for i in text:
if FONT.has_char(text.unicode_at(idx)) == false and valid_chars.contains(i) == false:
text = text.replace(i, " ")
idx += 1
node_to_validate.insert_text_at_caret(text)