SupaLidlGame/addons/dialogue_manager/dialogue_line.gd

44 lines
1.2 KiB
GDScript
Raw Normal View History

2023-07-27 11:39:38 -07:00
class_name DialogueLine extends RefCounted
const DialogueConstants = preload("res://addons/dialogue_manager/constants.gd")
const DialogueResponse = preload("res://addons/dialogue_manager/dialogue_response.gd")
var type: String = DialogueConstants.TYPE_DIALOGUE
var next_id: String = ""
var character: String = ""
var character_replacements: Array[Dictionary] = []
var text: String = ""
var text_replacements: Array[Dictionary] = []
var translation_key: String = ""
var pauses: Dictionary = {}
var speeds: Dictionary = {}
var inline_mutations: Array[Array] = []
var responses: Array[DialogueResponse] = []
var extra_game_states: Array = []
var time = null
var mutation: Dictionary = {}
func _init(data: Dictionary = {}) -> void:
if data.size() > 0:
next_id = data.next_id
type = data.type
extra_game_states = data.extra_game_states
match type:
DialogueConstants.TYPE_DIALOGUE:
character = data.character
character_replacements = data.character_replacements
text = data.text
text_replacements = data.text_replacements
translation_key = data.translation_key
pauses = data.pauses
speeds = data.speeds
inline_mutations = data.inline_mutations
time = data.time
DialogueConstants.TYPE_MUTATION:
mutation = data.mutation