add escaping bbcode tags to chat
This commit is contained in:
parent
1db73736c4
commit
42ef398544
@ -1,6 +1,10 @@
|
||||
class_name Chat
|
||||
extends Menu
|
||||
|
||||
const BBCODE_TAGS_TO_ESCAPE: PackedStringArray = [
|
||||
"url", "img", "font", "dropcap", "opentype_features", "outline_size"
|
||||
]
|
||||
|
||||
var _chat_message_scene := preload("res://scenes/ui/chat_message.tscn")
|
||||
|
||||
var _message_history: PackedStringArray = []
|
||||
@ -72,7 +76,7 @@ func _send_message(message: String) -> void:
|
||||
|
||||
func _make_message_node(player_name: String, message: String) -> RichTextLabel:
|
||||
var node := _chat_message_scene.instantiate() as RichTextLabel
|
||||
node.text = "[b]" + player_name + ":[/b] " + message
|
||||
node.text = "[b]" + player_name + ":[/b] " + _escape_bbcode_tags(message)
|
||||
|
||||
return node
|
||||
|
||||
@ -85,6 +89,14 @@ func _set_message_from_history() -> void:
|
||||
_message_edit.text = ""
|
||||
|
||||
|
||||
func _escape_bbcode_tags(message: String) -> String:
|
||||
for tag_name in BBCODE_TAGS_TO_ESCAPE:
|
||||
var tag := "[" + tag_name
|
||||
if tag in message:
|
||||
message = message.replace(tag, "[lb]" + tag_name)
|
||||
return message
|
||||
|
||||
|
||||
func _on_message_edit_text_submitted(message: String) -> void:
|
||||
if _message_edit.text == "":
|
||||
return
|
||||
|
||||
Loading…
Reference in New Issue
Block a user