mirror of
https://github.com/bevyengine/bevy
synced 2024-12-26 04:53:07 +00:00
42 lines
1.4 KiB
Rust
42 lines
1.4 KiB
Rust
pub mod bytes;
|
|
pub mod time;
|
|
pub mod transform;
|
|
|
|
use bevy_app::{stage, AppBuilder, AppPlugin};
|
|
use bevy_type_registry::RegisterType;
|
|
use bevy_transform::{
|
|
components::{
|
|
Children, LocalToParent, LocalToWorld, NonUniformScale, Rotation, Scale, Translation,
|
|
},
|
|
transform_system_bundle,
|
|
};
|
|
use glam::{Mat3, Mat4, Quat, Vec2, Vec3};
|
|
use legion::prelude::IntoSystem;
|
|
use time::{start_timer_system, stop_timer_system, Time};
|
|
|
|
#[derive(Default)]
|
|
pub struct CorePlugin;
|
|
|
|
impl AppPlugin for CorePlugin {
|
|
fn build(&self, app: &mut AppBuilder) {
|
|
for transform_system in transform_system_bundle::build(app.world_mut()).drain(..) {
|
|
app.add_system(transform_system);
|
|
}
|
|
|
|
app.init_resource::<Time>()
|
|
.register_component::<Children>()
|
|
.register_component::<LocalToParent>()
|
|
.register_component::<LocalToWorld>()
|
|
.register_component::<Translation>()
|
|
.register_component::<Rotation>()
|
|
.register_component::<Scale>()
|
|
.register_component::<NonUniformScale>()
|
|
.register_property_type::<Vec2>()
|
|
.register_property_type::<Vec3>()
|
|
.register_property_type::<Mat3>()
|
|
.register_property_type::<Mat4>()
|
|
.register_property_type::<Quat>()
|
|
.add_system_to_stage(stage::FIRST, start_timer_system.system())
|
|
.add_system_to_stage(stage::LAST, stop_timer_system.system());
|
|
}
|
|
}
|