diary/system/data/message_data/message.gd
2022-06-28 21:51:50 +02:00

38 lines
937 B
GDScript

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
Data.messages.emit_signal("message_edited")
# 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