hammerspace 0.4.2

A plugin for the loading and management of levels and scenes, and their physical properties
Documentation
use assembler::LoaderPlugin;
use bevy::prelude::*;

use blenvy::BlenvyPlugin;
#[cfg(feature = "editor")]
use editor::EditorPlugin;

#[cfg(feature = "pathfind")]
use pathfind::{events::PathEvent, PathFindPlugin};
use resources::HammerspaceConfig;

pub mod assembler;
#[cfg(feature = "editor")]
pub mod editor;
#[cfg(feature = "pathfind")]
pub mod pathfind;

pub mod resources;

#[cfg(feature = "proc_terrain")]
pub mod terrain;

pub struct HammerspacePlugin {
    pub config: HammerspaceConfig,
}

impl Plugin for HammerspacePlugin {
    fn build(&self, app: &mut App) {
        app.add_plugins((
            LoaderPlugin,
            BlenvyPlugin::default(),
            #[cfg(feature = "pathfind")]
            PathFindPlugin,
            #[cfg(feature = "proc_terrain")]
            TerrainPlugin,
            #[cfg(feature = "editor")]
            EditorPlugin,
        ));
        #[cfg(feature = "pathfind")]
        app.add_event::<PathEvent>();
        app.insert_resource::<HammerspaceConfig>(self.config.clone());
    }
}