use bevy::prelude::*;
use serde::{Deserialize, Serialize};
use super::field::Field;
use super::ids::{ActorId, EntryId};
use super::link::Link;
#[derive(Component, Debug, Clone, Default, PartialEq, Reflect, Serialize, Deserialize)]
pub struct DialogueEntry {
pub id: EntryId,
pub actor: ActorId,
pub conversant: ActorId,
pub menu_text: String,
pub dialogue_text: String,
pub is_root: bool,
pub is_group: bool,
pub links: Vec<Link>,
#[serde(default)]
pub fields: Vec<Field>,
#[serde(default, skip_serializing_if = "String::is_empty")]
pub condition: String,
#[serde(default, skip_serializing_if = "String::is_empty")]
pub script: String,
#[serde(default, skip_serializing_if = "String::is_empty")]
pub sequence: String,
}