1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
mod loaded_scenes; mod scene; mod scene_spawner; pub mod serde; pub use loaded_scenes::*; pub use scene::*; pub use scene_spawner::*; pub mod prelude { pub use crate::{Scene, SceneSpawner}; } use bevy_app::prelude::*; use bevy_asset::AddAsset; use bevy_ecs::IntoThreadLocalSystem; #[derive(Default)] pub struct ScenePlugin; pub const SCENE_STAGE: &str = "scene"; impl Plugin for ScenePlugin { fn build(&self, app: &mut AppBuilder) { app.add_asset::<Scene>() .add_asset_loader::<Scene, SceneLoader>() .init_resource::<SceneSpawner>() .add_stage_after(stage::EVENT_UPDATE, SCENE_STAGE) .add_system_to_stage(SCENE_STAGE, scene_spawner_system.thread_local_system()); } }