bevy_talks 0.6.0

A Bevy plugin to write dialogues for your characters to say and do things. The Dialogue System for Bevy.
Documentation
//! Conversations: directed graphs of dialogue entries.

use bevy::prelude::*;
use serde::{Deserialize, Serialize};

use super::entry::DialogueEntry;
use super::field::Field;
use super::ids::{ActorId, ConversationId};

/// A single conversation and its dialogue entries.
#[derive(Debug, Clone, Default, PartialEq, Reflect, Serialize, Deserialize)]
pub struct Conversation {
    /// Unique id within the database.
    pub id: ConversationId,
    /// Display title.
    pub title: String,
    /// Default speaker for entries that don't override it.
    pub actor: ActorId,
    /// Default listener for entries that don't override it.
    pub conversant: ActorId,
    /// The entries (graph nodes) that make up this conversation.
    pub entries: Vec<DialogueEntry>,
    /// Custom fields.
    #[serde(default)]
    pub fields: Vec<Field>,
}