mod bytes; mod float_ord; mod label; mod name; mod task_pool_options; mod time; pub use bytes::*; pub use float_ord::*; pub use label::*; pub use name::*; pub use task_pool_options::DefaultTaskPoolOptions; pub use time::*; pub mod prelude { #[doc(hidden)] pub use crate::{DefaultTaskPoolOptions, EntityLabels, Labels, Name, Time, Timer}; } use bevy_app::prelude::*; use bevy_ecs::{ entity::Entity, schedule::{ExclusiveSystemDescriptorCoercion, SystemLabel}, system::{IntoExclusiveSystem, IntoSystem}, }; use bevy_utils::HashSet; use std::ops::Range; /// Adds core functionality to Apps. #[derive(Default)] pub struct CorePlugin; #[derive(Debug, PartialEq, Eq, Clone, Hash, SystemLabel)] pub enum CoreSystem { /// Updates the elapsed time. Any system that interacts with [Time] component should run after /// this. Time, } impl Plugin for CorePlugin { fn build(&self, app: &mut AppBuilder) { // Setup the default bevy task pools app.world_mut() .get_resource::() .cloned() .unwrap_or_else(DefaultTaskPoolOptions::default) .create_default_pools(app.world_mut()); app.init_resource::