#![warn(missing_docs)] //! This crate provides core functionality for Bevy Engine. mod name; mod task_pool_options; pub use bytemuck::{bytes_of, cast_slice, Pod, Zeroable}; pub use name::*; pub use task_pool_options::*; pub mod prelude { //! The Bevy Core Prelude. #[doc(hidden)] pub use crate::{DefaultTaskPoolOptions, Name}; } use bevy_app::prelude::*; use bevy_ecs::entity::Entity; use bevy_utils::HashSet; use std::ops::Range; /// Adds core functionality to Apps. #[derive(Default)] pub struct CorePlugin; impl Plugin for CorePlugin { fn build(&self, app: &mut App) { // Setup the default bevy task pools app.world .get_resource::() .cloned() .unwrap_or_default() .create_default_pools(); app.register_type::().register_type::(); register_rust_types(app); register_math_types(app); } } fn register_rust_types(app: &mut App) { app.register_type::>() .register_type::() .register_type::>() .register_type::>(); } fn register_math_types(app: &mut App) { app.register_type::() .register_type::() .register_type::() .register_type::() .register_type::() .register_type::() .register_type::() .register_type::() .register_type::() .register_type::() .register_type::() .register_type::(); }