mod algo;
#[cfg(feature = "bevy_default")]
mod debug_group_steer;
#[cfg(feature = "bevy_default")]
pub use self::debug_group_steer::*;
mod steer_bundle;
pub use steer_bundle::*;
mod steer_target;
use crate::prelude::*;
pub use algo::*;
use beet_core::prelude::*;
use beet_flow::prelude::*;
pub use steer_target::*;
type M = GroupSteerAgent;
pub fn steer_plugin(app: &mut App) {
app.add_systems(
Update,
(
find_steer_target,
end_on_arrive,
seek,
wander,
separate::<M>,
align::<M>,
cohere::<M>,
)
.in_set(TickSet),
)
.init_resource::<RandomSource>()
.register_type::<SteerTarget>()
.register_type::<MaxForce>()
.register_type::<MaxSpeed>()
.register_type::<ArriveRadius>()
.register_type::<GroupSteerAgent>();
let world = app.world_mut();
world.register_bundle::<SteerBundle>();
}