mod nav_gizmo;
mod overlay;
mod overlays_enabled;
mod state;
pub use nav_gizmo::nav_gizmo_overlay_system;
pub use overlay::gizmo_overlay_system;
pub use state::{
GizmoMode, GizmoPlanarScaleDrag, GizmoPlanarTranslationDrag, GizmoRotationDrag, GizmoScaleDrag,
GizmoTranslationDrag, Gizmos,
};
pub fn install(world: &mut crate::ecs::world::World) {
use crate::schedule::{FramePhase, schedule_push};
let schedule = &mut world.resources.schedules.frame;
schedule_push(
schedule,
FramePhase::PostUpdate,
overlay::gizmo_overlay_system,
);
schedule_push(
schedule,
FramePhase::PostUpdate,
nav_gizmo::nav_gizmo_overlay_system,
);
}
pub struct GizmosPlugin;
impl crate::app::Plugin for GizmosPlugin {
fn build(&self, app: &mut crate::app::App) {
app.add_system(crate::app::Stage::Startup, install);
}
}