extends Reference class_name Message const MESSAGE_NODE = preload("res://user_interface/chat_panel/message_node.tscn") var associated_node: Control var associated_message_group: WeakRef var content: String var time_stamp: int func get_user() -> User: return associated_message_group.get_ref().associated_user func delete(): associated_message_group.get_ref().delete(self) Data.messages.dirty_flag = true Data.messages.message_count -= 1 func edit(new_content: String): content = new_content Data.messages.dirty_flag = true # Used by the MessageFeed, to spawn message nodes. func create_node() -> Control: var message_node = MESSAGE_NODE.instance() associated_node = message_node message_node.associated_message = weakref(self) if associated_message_group: if associated_message_group.get_ref().messages.size() > 1: message_node.follow_up = true return message_node