36 lines
858 B
GDScript
36 lines
858 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
|
|
|
|
|
|
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
|