add escaping bbcode tags to chat
This commit is contained in:
parent
1db73736c4
commit
42ef398544
@ -1,6 +1,10 @@
|
|||||||
class_name Chat
|
class_name Chat
|
||||||
extends Menu
|
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 _chat_message_scene := preload("res://scenes/ui/chat_message.tscn")
|
||||||
|
|
||||||
var _message_history: PackedStringArray = []
|
var _message_history: PackedStringArray = []
|
||||||
@ -72,7 +76,7 @@ func _send_message(message: String) -> void:
|
|||||||
|
|
||||||
func _make_message_node(player_name: String, message: String) -> RichTextLabel:
|
func _make_message_node(player_name: String, message: String) -> RichTextLabel:
|
||||||
var node := _chat_message_scene.instantiate() as 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
|
return node
|
||||||
|
|
||||||
@ -85,6 +89,14 @@ func _set_message_from_history() -> void:
|
|||||||
_message_edit.text = ""
|
_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:
|
func _on_message_edit_text_submitted(message: String) -> void:
|
||||||
if _message_edit.text == "":
|
if _message_edit.text == "":
|
||||||
return
|
return
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user