chainmailer 0.2.1

If You Do Not Send This Letter To Ten Recipients You Will Regret It
Documentation
use bevy::{
    diagnostic::{EntityCountDiagnosticsPlugin, FrameTimeDiagnosticsPlugin},
    prelude::*,
};
use bevy_ratatui::RatatuiPlugins;
use bevy_ratatui_camera::RatatuiCameraPlugin;

mod constants;
mod input;
mod interface;
mod letters;
mod loading;
mod rng;
mod scene;
mod sound;
mod states;
#[cfg(not(feature = "windowed"))]
mod terminal;
#[cfg(feature = "windowed")]
mod windowed;
mod word_checks;

pub struct AppPlugin;

impl Plugin for AppPlugin {
    fn build(&self, app: &mut App) {
        app.add_plugins((
            #[cfg(not(feature = "windowed"))]
            terminal::plugin,
            #[cfg(feature = "windowed")]
            windowed::plugin,
        ));

        app.add_plugins((
            FrameTimeDiagnosticsPlugin {
                smoothing_factor: 1.0,
                ..default()
            },
            EntityCountDiagnosticsPlugin,
            RatatuiPlugins {
                enable_mouse_capture: true,
                ..default()
            },
            RatatuiCameraPlugin,
        ));

        app.add_plugins((
            interface::plugin,
            input::plugin,
            letters::plugin,
            loading::plugin,
            sound::plugin,
            scene::plugin,
            states::plugin,
            word_checks::plugin,
        ));

        app.insert_resource(ClearColor(Color::srgba(0., 0., 0., 0.)));
    }
}