Use generic system or system param for ergonomic rig lookup
Closed this issue · 0 comments
BlackPhlox commented
Generic System:
//App
.add_system(dolly_update_system::<MyRig>)
//Setup
commands
.spawn()
//.insert(Some Transform)
.insert(Rig::builder(/*...*/))
.insert(MyRig);
//Generic System
fn dolly_update_system<T: Component>(mut query: Query<Rig, With<T>>) {
for rig in query.iter() {
rig.update()
}
}
System Param:
//WIP
#[derive(SystemParam)]
struct CameraUpdater<'w, 's> {
players: Query<'w, 's, &'static Player>,
count: ResMut<'w, PlayerCount>,
}
impl<'w, 's> CameraUpdater<'w, 's> {
fn update(&mut self) {
self.update()
}
}
/// The [`SystemParam`] can be used directly in a system argument.
fn update_camera(mut query: Query<Transform, With<Camera3D>>, mut cam_updater: CameraUpdater) {
let t = cam_updater.update();
for cams in query.iter() {
cams = t;
}
}