mod anchors; mod flex; mod focus; mod margins; mod render; mod ui_node; pub mod entity; pub mod update; pub mod widget; pub use anchors::*; pub use flex::*; pub use focus::*; pub use margins::*; pub use render::*; pub use ui_node::*; pub mod prelude { #[doc(hidden)] pub use crate::{entity::*, ui_node::*, widget::Button, Anchors, Interaction, Margins}; } use bevy_app::prelude::*; use bevy_ecs::{ schedule::{ParallelSystemDescriptorCoercion, SystemLabel}, system::IntoSystem, }; use bevy_input::InputSystem; use bevy_math::{Rect, Size}; use bevy_render::RenderStage; use bevy_transform::TransformSystem; use update::ui_z_system; #[derive(Default)] pub struct UiPlugin; #[derive(Debug, Hash, PartialEq, Eq, Clone, SystemLabel)] pub enum UiSystem { /// After this label, the ui flex state has been updated Flex, Focus, } impl Plugin for UiPlugin { fn build(&self, app: &mut AppBuilder) { app.init_resource::() .register_type::() .register_type::() .register_type::() .register_type::() .register_type::() .register_type::() .register_type::() .register_type::() .register_type::() .register_type::() .register_type::>() .register_type::>() .register_type::>() .register_type::