pub struct ParamSet<'w, 's, T>where
T: SystemParam,{ /* private fields */ }Expand description
A collection of potentially conflicting SystemParams allowed by disjoint access.
Allows systems to safely access and interact with up to 8 mutually exclusive SystemParams, such as
two queries that reference the same mutable data or an event reader and writer of the same type.
Each individual SystemParam can be accessed by using the functions p0(), p1(), …, p7(),
according to the order they are defined in the ParamSet. This ensures that there’s either
only one mutable reference to a parameter at a time or any number of immutable references.
§Examples
The following system mutably accesses the same component two times, which is not allowed due to rust’s mutability rules.
// This will panic at runtime when the system gets initialized.
fn bad_system(
mut enemies: Query<&mut Health, With<Enemy>>,
mut allies: Query<&mut Health, With<Ally>>,
) {
// ...
}Conflicting SystemParams like these can be placed in a ParamSet,
which leverages the borrow checker to ensure that only one of the contained parameters are accessed at a given time.
// Given the following system
fn fancy_system(
mut set: ParamSet<(
Query<&mut Health, With<Enemy>>,
Query<&mut Health, With<Ally>>,
)>
) {
// This will access the first `SystemParam`.
for mut health in set.p0().iter_mut() {
// Do your fancy stuff here...
}
// The second `SystemParam`.
// This would fail to compile if the previous parameter was still borrowed.
for mut health in set.p1().iter_mut() {
// Do even fancier stuff here...
}
}Of course, ParamSets can be used with any kind of SystemParam, not just queries.
fn event_system(
mut set: ParamSet<(
// `EventReader`s and `EventWriter`s conflict with each other,
// since they both access the event queue resource for `MyEvent`.
EventReader<MyEvent>,
EventWriter<MyEvent>,
// `&World` reads the entire world, so a `ParamSet` is the only way
// that it can be used in the same system as any mutable accesses.
&World,
)>,
) {
for event in set.p0().read() {
// ...
}
set.p1().send(MyEvent::new());
let entities = set.p2().entities();
// ...
}Implementations§
source§impl<'w, 's, P0> ParamSet<'w, 's, (P0,)>where
P0: SystemParam,
impl<'w, 's, P0> ParamSet<'w, 's, (P0,)>where
P0: SystemParam,
sourcepub fn p0<'a>(&'a mut self) -> <P0 as SystemParam>::Item<'a, 'a>
pub fn p0<'a>(&'a mut self) -> <P0 as SystemParam>::Item<'a, 'a>
Gets exclusive access to the 0th parameter in this ParamSet.
No other parameters may be accessed while this one is active.
source§impl<'w, 's, P0, P1> ParamSet<'w, 's, (P0, P1)>where
P0: SystemParam,
P1: SystemParam,
impl<'w, 's, P0, P1> ParamSet<'w, 's, (P0, P1)>where
P0: SystemParam,
P1: SystemParam,
sourcepub fn p0<'a>(&'a mut self) -> <P0 as SystemParam>::Item<'a, 'a>
pub fn p0<'a>(&'a mut self) -> <P0 as SystemParam>::Item<'a, 'a>
Gets exclusive access to the 0th parameter in this ParamSet.
No other parameters may be accessed while this one is active.
Examples found in repository?
110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
fn send_and_receive_param_set(
mut param_set: ParamSet<(EventReader<DebugEvent>, EventWriter<DebugEvent>)>,
frame_count: Res<FrameCount>,
) {
println!(
"Sending and receiving events for frame {} with a `ParamSet`",
frame_count.0
);
// We must collect the events to resend, because we can't access the writer while we're iterating over the reader.
let mut events_to_resend = Vec::new();
// This is p0, as the first parameter in the `ParamSet` is the reader.
for event in param_set.p0().read() {
if event.resend_from_param_set {
events_to_resend.push(event.clone());
}
}
// This is p1, as the second parameter in the `ParamSet` is the writer.
for mut event in events_to_resend {
event.times_sent += 1;
param_set.p1().send(event);
}
}More examples
274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313
fn focus_camera(
time: Res<Time>,
mut game: ResMut<Game>,
mut transforms: ParamSet<(Query<&mut Transform, With<Camera3d>>, Query<&Transform>)>,
) {
const SPEED: f32 = 2.0;
// if there is both a player and a bonus, target the mid-point of them
if let (Some(player_entity), Some(bonus_entity)) = (game.player.entity, game.bonus.entity) {
let transform_query = transforms.p1();
if let (Ok(player_transform), Ok(bonus_transform)) = (
transform_query.get(player_entity),
transform_query.get(bonus_entity),
) {
game.camera_should_focus = player_transform
.translation
.lerp(bonus_transform.translation, 0.5);
}
// otherwise, if there is only a player, target the player
} else if let Some(player_entity) = game.player.entity {
if let Ok(player_transform) = transforms.p1().get(player_entity) {
game.camera_should_focus = player_transform.translation;
}
// otherwise, target the middle
} else {
game.camera_should_focus = Vec3::from(RESET_FOCUS);
}
// calculate the camera motion based on the difference between where the camera is looking
// and where it should be looking; the greater the distance, the faster the motion;
// smooth out the camera movement using the frame time
let mut camera_motion = game.camera_should_focus - game.camera_is_focus;
if camera_motion.length() > 0.2 {
camera_motion *= SPEED * time.delta_seconds();
// set the new camera's actual focus
game.camera_is_focus += camera_motion;
}
// look at that new camera's actual focus
for mut transform in transforms.p0().iter_mut() {
*transform = transform.looking_at(game.camera_is_focus, Vec3::Y);
}
}sourcepub fn p1<'a>(&'a mut self) -> <P1 as SystemParam>::Item<'a, 'a>
pub fn p1<'a>(&'a mut self) -> <P1 as SystemParam>::Item<'a, 'a>
Gets exclusive access to the 1st parameter in this ParamSet.
No other parameters may be accessed while this one is active.
Examples found in repository?
110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
fn send_and_receive_param_set(
mut param_set: ParamSet<(EventReader<DebugEvent>, EventWriter<DebugEvent>)>,
frame_count: Res<FrameCount>,
) {
println!(
"Sending and receiving events for frame {} with a `ParamSet`",
frame_count.0
);
// We must collect the events to resend, because we can't access the writer while we're iterating over the reader.
let mut events_to_resend = Vec::new();
// This is p0, as the first parameter in the `ParamSet` is the reader.
for event in param_set.p0().read() {
if event.resend_from_param_set {
events_to_resend.push(event.clone());
}
}
// This is p1, as the second parameter in the `ParamSet` is the writer.
for mut event in events_to_resend {
event.times_sent += 1;
param_set.p1().send(event);
}
}More examples
274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313
fn focus_camera(
time: Res<Time>,
mut game: ResMut<Game>,
mut transforms: ParamSet<(Query<&mut Transform, With<Camera3d>>, Query<&Transform>)>,
) {
const SPEED: f32 = 2.0;
// if there is both a player and a bonus, target the mid-point of them
if let (Some(player_entity), Some(bonus_entity)) = (game.player.entity, game.bonus.entity) {
let transform_query = transforms.p1();
if let (Ok(player_transform), Ok(bonus_transform)) = (
transform_query.get(player_entity),
transform_query.get(bonus_entity),
) {
game.camera_should_focus = player_transform
.translation
.lerp(bonus_transform.translation, 0.5);
}
// otherwise, if there is only a player, target the player
} else if let Some(player_entity) = game.player.entity {
if let Ok(player_transform) = transforms.p1().get(player_entity) {
game.camera_should_focus = player_transform.translation;
}
// otherwise, target the middle
} else {
game.camera_should_focus = Vec3::from(RESET_FOCUS);
}
// calculate the camera motion based on the difference between where the camera is looking
// and where it should be looking; the greater the distance, the faster the motion;
// smooth out the camera movement using the frame time
let mut camera_motion = game.camera_should_focus - game.camera_is_focus;
if camera_motion.length() > 0.2 {
camera_motion *= SPEED * time.delta_seconds();
// set the new camera's actual focus
game.camera_is_focus += camera_motion;
}
// look at that new camera's actual focus
for mut transform in transforms.p0().iter_mut() {
*transform = transform.looking_at(game.camera_is_focus, Vec3::Y);
}
}source§impl<'w, 's, P0, P1, P2> ParamSet<'w, 's, (P0, P1, P2)>
impl<'w, 's, P0, P1, P2> ParamSet<'w, 's, (P0, P1, P2)>
sourcepub fn p0<'a>(&'a mut self) -> <P0 as SystemParam>::Item<'a, 'a>
pub fn p0<'a>(&'a mut self) -> <P0 as SystemParam>::Item<'a, 'a>
Gets exclusive access to the 0th parameter in this ParamSet.
No other parameters may be accessed while this one is active.
sourcepub fn p1<'a>(&'a mut self) -> <P1 as SystemParam>::Item<'a, 'a>
pub fn p1<'a>(&'a mut self) -> <P1 as SystemParam>::Item<'a, 'a>
Gets exclusive access to the 1st parameter in this ParamSet.
No other parameters may be accessed while this one is active.
sourcepub fn p2<'a>(&'a mut self) -> <P2 as SystemParam>::Item<'a, 'a>
pub fn p2<'a>(&'a mut self) -> <P2 as SystemParam>::Item<'a, 'a>
Gets exclusive access to the 2nd parameter in this ParamSet.
No other parameters may be accessed while this one is active.
source§impl<'w, 's, P0, P1, P2, P3> ParamSet<'w, 's, (P0, P1, P2, P3)>
impl<'w, 's, P0, P1, P2, P3> ParamSet<'w, 's, (P0, P1, P2, P3)>
sourcepub fn p0<'a>(&'a mut self) -> <P0 as SystemParam>::Item<'a, 'a>
pub fn p0<'a>(&'a mut self) -> <P0 as SystemParam>::Item<'a, 'a>
Gets exclusive access to the 0th parameter in this ParamSet.
No other parameters may be accessed while this one is active.
Examples found in repository?
148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176
fn toggle_shadows(
mut commands: Commands,
input: Res<ButtonInput<KeyCode>>,
mut queries: ParamSet<(
Query<Entity, (With<Handle<Mesh>>, With<NotShadowCaster>)>,
Query<Entity, (With<Handle<Mesh>>, With<NotShadowReceiver>)>,
Query<Entity, (With<Handle<Mesh>>, Without<NotShadowCaster>)>,
Query<Entity, (With<Handle<Mesh>>, Without<NotShadowReceiver>)>,
)>,
) {
if input.just_pressed(KeyCode::KeyC) {
println!("Toggling casters");
for entity in queries.p0().iter() {
commands.entity(entity).remove::<NotShadowCaster>();
}
for entity in queries.p2().iter() {
commands.entity(entity).insert(NotShadowCaster);
}
}
if input.just_pressed(KeyCode::KeyR) {
println!("Toggling receivers");
for entity in queries.p1().iter() {
commands.entity(entity).remove::<NotShadowReceiver>();
}
for entity in queries.p3().iter() {
commands.entity(entity).insert(NotShadowReceiver);
}
}
}sourcepub fn p1<'a>(&'a mut self) -> <P1 as SystemParam>::Item<'a, 'a>
pub fn p1<'a>(&'a mut self) -> <P1 as SystemParam>::Item<'a, 'a>
Gets exclusive access to the 1st parameter in this ParamSet.
No other parameters may be accessed while this one is active.
Examples found in repository?
148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176
fn toggle_shadows(
mut commands: Commands,
input: Res<ButtonInput<KeyCode>>,
mut queries: ParamSet<(
Query<Entity, (With<Handle<Mesh>>, With<NotShadowCaster>)>,
Query<Entity, (With<Handle<Mesh>>, With<NotShadowReceiver>)>,
Query<Entity, (With<Handle<Mesh>>, Without<NotShadowCaster>)>,
Query<Entity, (With<Handle<Mesh>>, Without<NotShadowReceiver>)>,
)>,
) {
if input.just_pressed(KeyCode::KeyC) {
println!("Toggling casters");
for entity in queries.p0().iter() {
commands.entity(entity).remove::<NotShadowCaster>();
}
for entity in queries.p2().iter() {
commands.entity(entity).insert(NotShadowCaster);
}
}
if input.just_pressed(KeyCode::KeyR) {
println!("Toggling receivers");
for entity in queries.p1().iter() {
commands.entity(entity).remove::<NotShadowReceiver>();
}
for entity in queries.p3().iter() {
commands.entity(entity).insert(NotShadowReceiver);
}
}
}sourcepub fn p2<'a>(&'a mut self) -> <P2 as SystemParam>::Item<'a, 'a>
pub fn p2<'a>(&'a mut self) -> <P2 as SystemParam>::Item<'a, 'a>
Gets exclusive access to the 2nd parameter in this ParamSet.
No other parameters may be accessed while this one is active.
Examples found in repository?
148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176
fn toggle_shadows(
mut commands: Commands,
input: Res<ButtonInput<KeyCode>>,
mut queries: ParamSet<(
Query<Entity, (With<Handle<Mesh>>, With<NotShadowCaster>)>,
Query<Entity, (With<Handle<Mesh>>, With<NotShadowReceiver>)>,
Query<Entity, (With<Handle<Mesh>>, Without<NotShadowCaster>)>,
Query<Entity, (With<Handle<Mesh>>, Without<NotShadowReceiver>)>,
)>,
) {
if input.just_pressed(KeyCode::KeyC) {
println!("Toggling casters");
for entity in queries.p0().iter() {
commands.entity(entity).remove::<NotShadowCaster>();
}
for entity in queries.p2().iter() {
commands.entity(entity).insert(NotShadowCaster);
}
}
if input.just_pressed(KeyCode::KeyR) {
println!("Toggling receivers");
for entity in queries.p1().iter() {
commands.entity(entity).remove::<NotShadowReceiver>();
}
for entity in queries.p3().iter() {
commands.entity(entity).insert(NotShadowReceiver);
}
}
}sourcepub fn p3<'a>(&'a mut self) -> <P3 as SystemParam>::Item<'a, 'a>
pub fn p3<'a>(&'a mut self) -> <P3 as SystemParam>::Item<'a, 'a>
Gets exclusive access to the 3rd parameter in this ParamSet.
No other parameters may be accessed while this one is active.
Examples found in repository?
148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176
fn toggle_shadows(
mut commands: Commands,
input: Res<ButtonInput<KeyCode>>,
mut queries: ParamSet<(
Query<Entity, (With<Handle<Mesh>>, With<NotShadowCaster>)>,
Query<Entity, (With<Handle<Mesh>>, With<NotShadowReceiver>)>,
Query<Entity, (With<Handle<Mesh>>, Without<NotShadowCaster>)>,
Query<Entity, (With<Handle<Mesh>>, Without<NotShadowReceiver>)>,
)>,
) {
if input.just_pressed(KeyCode::KeyC) {
println!("Toggling casters");
for entity in queries.p0().iter() {
commands.entity(entity).remove::<NotShadowCaster>();
}
for entity in queries.p2().iter() {
commands.entity(entity).insert(NotShadowCaster);
}
}
if input.just_pressed(KeyCode::KeyR) {
println!("Toggling receivers");
for entity in queries.p1().iter() {
commands.entity(entity).remove::<NotShadowReceiver>();
}
for entity in queries.p3().iter() {
commands.entity(entity).insert(NotShadowReceiver);
}
}
}source§impl<'w, 's, P0, P1, P2, P3, P4> ParamSet<'w, 's, (P0, P1, P2, P3, P4)>
impl<'w, 's, P0, P1, P2, P3, P4> ParamSet<'w, 's, (P0, P1, P2, P3, P4)>
sourcepub fn p0<'a>(&'a mut self) -> <P0 as SystemParam>::Item<'a, 'a>
pub fn p0<'a>(&'a mut self) -> <P0 as SystemParam>::Item<'a, 'a>
Gets exclusive access to the 0th parameter in this ParamSet.
No other parameters may be accessed while this one is active.
sourcepub fn p1<'a>(&'a mut self) -> <P1 as SystemParam>::Item<'a, 'a>
pub fn p1<'a>(&'a mut self) -> <P1 as SystemParam>::Item<'a, 'a>
Gets exclusive access to the 1st parameter in this ParamSet.
No other parameters may be accessed while this one is active.
sourcepub fn p2<'a>(&'a mut self) -> <P2 as SystemParam>::Item<'a, 'a>
pub fn p2<'a>(&'a mut self) -> <P2 as SystemParam>::Item<'a, 'a>
Gets exclusive access to the 2nd parameter in this ParamSet.
No other parameters may be accessed while this one is active.
sourcepub fn p3<'a>(&'a mut self) -> <P3 as SystemParam>::Item<'a, 'a>
pub fn p3<'a>(&'a mut self) -> <P3 as SystemParam>::Item<'a, 'a>
Gets exclusive access to the 3rd parameter in this ParamSet.
No other parameters may be accessed while this one is active.
sourcepub fn p4<'a>(&'a mut self) -> <P4 as SystemParam>::Item<'a, 'a>
pub fn p4<'a>(&'a mut self) -> <P4 as SystemParam>::Item<'a, 'a>
Gets exclusive access to the 4th parameter in this ParamSet.
No other parameters may be accessed while this one is active.
source§impl<'w, 's, P0, P1, P2, P3, P4, P5> ParamSet<'w, 's, (P0, P1, P2, P3, P4, P5)>where
P0: SystemParam,
P1: SystemParam,
P2: SystemParam,
P3: SystemParam,
P4: SystemParam,
P5: SystemParam,
impl<'w, 's, P0, P1, P2, P3, P4, P5> ParamSet<'w, 's, (P0, P1, P2, P3, P4, P5)>where
P0: SystemParam,
P1: SystemParam,
P2: SystemParam,
P3: SystemParam,
P4: SystemParam,
P5: SystemParam,
sourcepub fn p0<'a>(&'a mut self) -> <P0 as SystemParam>::Item<'a, 'a>
pub fn p0<'a>(&'a mut self) -> <P0 as SystemParam>::Item<'a, 'a>
Gets exclusive access to the 0th parameter in this ParamSet.
No other parameters may be accessed while this one is active.
sourcepub fn p1<'a>(&'a mut self) -> <P1 as SystemParam>::Item<'a, 'a>
pub fn p1<'a>(&'a mut self) -> <P1 as SystemParam>::Item<'a, 'a>
Gets exclusive access to the 1st parameter in this ParamSet.
No other parameters may be accessed while this one is active.
sourcepub fn p2<'a>(&'a mut self) -> <P2 as SystemParam>::Item<'a, 'a>
pub fn p2<'a>(&'a mut self) -> <P2 as SystemParam>::Item<'a, 'a>
Gets exclusive access to the 2nd parameter in this ParamSet.
No other parameters may be accessed while this one is active.
sourcepub fn p3<'a>(&'a mut self) -> <P3 as SystemParam>::Item<'a, 'a>
pub fn p3<'a>(&'a mut self) -> <P3 as SystemParam>::Item<'a, 'a>
Gets exclusive access to the 3rd parameter in this ParamSet.
No other parameters may be accessed while this one is active.
sourcepub fn p4<'a>(&'a mut self) -> <P4 as SystemParam>::Item<'a, 'a>
pub fn p4<'a>(&'a mut self) -> <P4 as SystemParam>::Item<'a, 'a>
Gets exclusive access to the 4th parameter in this ParamSet.
No other parameters may be accessed while this one is active.
sourcepub fn p5<'a>(&'a mut self) -> <P5 as SystemParam>::Item<'a, 'a>
pub fn p5<'a>(&'a mut self) -> <P5 as SystemParam>::Item<'a, 'a>
Gets exclusive access to the 5th parameter in this ParamSet.
No other parameters may be accessed while this one is active.
source§impl<'w, 's, P0, P1, P2, P3, P4, P5, P6> ParamSet<'w, 's, (P0, P1, P2, P3, P4, P5, P6)>where
P0: SystemParam,
P1: SystemParam,
P2: SystemParam,
P3: SystemParam,
P4: SystemParam,
P5: SystemParam,
P6: SystemParam,
impl<'w, 's, P0, P1, P2, P3, P4, P5, P6> ParamSet<'w, 's, (P0, P1, P2, P3, P4, P5, P6)>where
P0: SystemParam,
P1: SystemParam,
P2: SystemParam,
P3: SystemParam,
P4: SystemParam,
P5: SystemParam,
P6: SystemParam,
sourcepub fn p0<'a>(&'a mut self) -> <P0 as SystemParam>::Item<'a, 'a>
pub fn p0<'a>(&'a mut self) -> <P0 as SystemParam>::Item<'a, 'a>
Gets exclusive access to the 0th parameter in this ParamSet.
No other parameters may be accessed while this one is active.
sourcepub fn p1<'a>(&'a mut self) -> <P1 as SystemParam>::Item<'a, 'a>
pub fn p1<'a>(&'a mut self) -> <P1 as SystemParam>::Item<'a, 'a>
Gets exclusive access to the 1st parameter in this ParamSet.
No other parameters may be accessed while this one is active.
sourcepub fn p2<'a>(&'a mut self) -> <P2 as SystemParam>::Item<'a, 'a>
pub fn p2<'a>(&'a mut self) -> <P2 as SystemParam>::Item<'a, 'a>
Gets exclusive access to the 2nd parameter in this ParamSet.
No other parameters may be accessed while this one is active.
sourcepub fn p3<'a>(&'a mut self) -> <P3 as SystemParam>::Item<'a, 'a>
pub fn p3<'a>(&'a mut self) -> <P3 as SystemParam>::Item<'a, 'a>
Gets exclusive access to the 3rd parameter in this ParamSet.
No other parameters may be accessed while this one is active.
sourcepub fn p4<'a>(&'a mut self) -> <P4 as SystemParam>::Item<'a, 'a>
pub fn p4<'a>(&'a mut self) -> <P4 as SystemParam>::Item<'a, 'a>
Gets exclusive access to the 4th parameter in this ParamSet.
No other parameters may be accessed while this one is active.
sourcepub fn p5<'a>(&'a mut self) -> <P5 as SystemParam>::Item<'a, 'a>
pub fn p5<'a>(&'a mut self) -> <P5 as SystemParam>::Item<'a, 'a>
Gets exclusive access to the 5th parameter in this ParamSet.
No other parameters may be accessed while this one is active.
sourcepub fn p6<'a>(&'a mut self) -> <P6 as SystemParam>::Item<'a, 'a>
pub fn p6<'a>(&'a mut self) -> <P6 as SystemParam>::Item<'a, 'a>
Gets exclusive access to the 6th parameter in this ParamSet.
No other parameters may be accessed while this one is active.
source§impl<'w, 's, P0, P1, P2, P3, P4, P5, P6, P7> ParamSet<'w, 's, (P0, P1, P2, P3, P4, P5, P6, P7)>where
P0: SystemParam,
P1: SystemParam,
P2: SystemParam,
P3: SystemParam,
P4: SystemParam,
P5: SystemParam,
P6: SystemParam,
P7: SystemParam,
impl<'w, 's, P0, P1, P2, P3, P4, P5, P6, P7> ParamSet<'w, 's, (P0, P1, P2, P3, P4, P5, P6, P7)>where
P0: SystemParam,
P1: SystemParam,
P2: SystemParam,
P3: SystemParam,
P4: SystemParam,
P5: SystemParam,
P6: SystemParam,
P7: SystemParam,
sourcepub fn p0<'a>(&'a mut self) -> <P0 as SystemParam>::Item<'a, 'a>
pub fn p0<'a>(&'a mut self) -> <P0 as SystemParam>::Item<'a, 'a>
Gets exclusive access to the 0th parameter in this ParamSet.
No other parameters may be accessed while this one is active.
sourcepub fn p1<'a>(&'a mut self) -> <P1 as SystemParam>::Item<'a, 'a>
pub fn p1<'a>(&'a mut self) -> <P1 as SystemParam>::Item<'a, 'a>
Gets exclusive access to the 1st parameter in this ParamSet.
No other parameters may be accessed while this one is active.
sourcepub fn p2<'a>(&'a mut self) -> <P2 as SystemParam>::Item<'a, 'a>
pub fn p2<'a>(&'a mut self) -> <P2 as SystemParam>::Item<'a, 'a>
Gets exclusive access to the 2nd parameter in this ParamSet.
No other parameters may be accessed while this one is active.
sourcepub fn p3<'a>(&'a mut self) -> <P3 as SystemParam>::Item<'a, 'a>
pub fn p3<'a>(&'a mut self) -> <P3 as SystemParam>::Item<'a, 'a>
Gets exclusive access to the 3rd parameter in this ParamSet.
No other parameters may be accessed while this one is active.
sourcepub fn p4<'a>(&'a mut self) -> <P4 as SystemParam>::Item<'a, 'a>
pub fn p4<'a>(&'a mut self) -> <P4 as SystemParam>::Item<'a, 'a>
Gets exclusive access to the 4th parameter in this ParamSet.
No other parameters may be accessed while this one is active.
sourcepub fn p5<'a>(&'a mut self) -> <P5 as SystemParam>::Item<'a, 'a>
pub fn p5<'a>(&'a mut self) -> <P5 as SystemParam>::Item<'a, 'a>
Gets exclusive access to the 5th parameter in this ParamSet.
No other parameters may be accessed while this one is active.
sourcepub fn p6<'a>(&'a mut self) -> <P6 as SystemParam>::Item<'a, 'a>
pub fn p6<'a>(&'a mut self) -> <P6 as SystemParam>::Item<'a, 'a>
Gets exclusive access to the 6th parameter in this ParamSet.
No other parameters may be accessed while this one is active.
sourcepub fn p7<'a>(&'a mut self) -> <P7 as SystemParam>::Item<'a, 'a>
pub fn p7<'a>(&'a mut self) -> <P7 as SystemParam>::Item<'a, 'a>
Gets exclusive access to the 7th parameter in this ParamSet.
No other parameters may be accessed while this one is active.
Trait Implementations§
source§impl<'_w, '_s, P0> SystemParam for ParamSet<'_w, '_s, (P0,)>where
P0: SystemParam,
impl<'_w, '_s, P0> SystemParam for ParamSet<'_w, '_s, (P0,)>where
P0: SystemParam,
source§type State = (<P0 as SystemParam>::State,)
type State = (<P0 as SystemParam>::State,)
source§type Item<'w, 's> = ParamSet<'w, 's, (P0,)>
type Item<'w, 's> = ParamSet<'w, 's, (P0,)>
Self, instantiated with new lifetimes. Read moresource§fn init_state(
world: &mut World,
system_meta: &mut SystemMeta,
) -> <ParamSet<'_w, '_s, (P0,)> as SystemParam>::State
fn init_state( world: &mut World, system_meta: &mut SystemMeta, ) -> <ParamSet<'_w, '_s, (P0,)> as SystemParam>::State
World access used by this SystemParam
and creates a new instance of this param’s State.source§unsafe fn new_archetype(
state: &mut <ParamSet<'_w, '_s, (P0,)> as SystemParam>::State,
archetype: &Archetype,
system_meta: &mut SystemMeta,
)
unsafe fn new_archetype( state: &mut <ParamSet<'_w, '_s, (P0,)> as SystemParam>::State, archetype: &Archetype, system_meta: &mut SystemMeta, )
Archetype, registers the components accessed by this SystemParam (if applicable).a Read moresource§fn apply(
state: &mut <ParamSet<'_w, '_s, (P0,)> as SystemParam>::State,
system_meta: &SystemMeta,
world: &mut World,
)
fn apply( state: &mut <ParamSet<'_w, '_s, (P0,)> as SystemParam>::State, system_meta: &SystemMeta, world: &mut World, )
SystemParam’s state.
This is used to apply Commands during apply_deferred.source§unsafe fn get_param<'w, 's>(
state: &'s mut <ParamSet<'_w, '_s, (P0,)> as SystemParam>::State,
system_meta: &SystemMeta,
world: UnsafeWorldCell<'w>,
change_tick: Tick,
) -> <ParamSet<'_w, '_s, (P0,)> as SystemParam>::Item<'w, 's>
unsafe fn get_param<'w, 's>( state: &'s mut <ParamSet<'_w, '_s, (P0,)> as SystemParam>::State, system_meta: &SystemMeta, world: UnsafeWorldCell<'w>, change_tick: Tick, ) -> <ParamSet<'_w, '_s, (P0,)> as SystemParam>::Item<'w, 's>
SystemParamFunction. Read moresource§fn queue(
state: &mut Self::State,
system_meta: &SystemMeta,
world: DeferredWorld<'_>,
)
fn queue( state: &mut Self::State, system_meta: &SystemMeta, world: DeferredWorld<'_>, )
apply_deferred.source§impl<'_w, '_s, P0, P1> SystemParam for ParamSet<'_w, '_s, (P0, P1)>where
P0: SystemParam,
P1: SystemParam,
impl<'_w, '_s, P0, P1> SystemParam for ParamSet<'_w, '_s, (P0, P1)>where
P0: SystemParam,
P1: SystemParam,
source§type State = (<P0 as SystemParam>::State, <P1 as SystemParam>::State)
type State = (<P0 as SystemParam>::State, <P1 as SystemParam>::State)
source§type Item<'w, 's> = ParamSet<'w, 's, (P0, P1)>
type Item<'w, 's> = ParamSet<'w, 's, (P0, P1)>
Self, instantiated with new lifetimes. Read moresource§fn init_state(
world: &mut World,
system_meta: &mut SystemMeta,
) -> <ParamSet<'_w, '_s, (P0, P1)> as SystemParam>::State
fn init_state( world: &mut World, system_meta: &mut SystemMeta, ) -> <ParamSet<'_w, '_s, (P0, P1)> as SystemParam>::State
World access used by this SystemParam
and creates a new instance of this param’s State.source§unsafe fn new_archetype(
state: &mut <ParamSet<'_w, '_s, (P0, P1)> as SystemParam>::State,
archetype: &Archetype,
system_meta: &mut SystemMeta,
)
unsafe fn new_archetype( state: &mut <ParamSet<'_w, '_s, (P0, P1)> as SystemParam>::State, archetype: &Archetype, system_meta: &mut SystemMeta, )
Archetype, registers the components accessed by this SystemParam (if applicable).a Read moresource§fn apply(
state: &mut <ParamSet<'_w, '_s, (P0, P1)> as SystemParam>::State,
system_meta: &SystemMeta,
world: &mut World,
)
fn apply( state: &mut <ParamSet<'_w, '_s, (P0, P1)> as SystemParam>::State, system_meta: &SystemMeta, world: &mut World, )
SystemParam’s state.
This is used to apply Commands during apply_deferred.source§unsafe fn get_param<'w, 's>(
state: &'s mut <ParamSet<'_w, '_s, (P0, P1)> as SystemParam>::State,
system_meta: &SystemMeta,
world: UnsafeWorldCell<'w>,
change_tick: Tick,
) -> <ParamSet<'_w, '_s, (P0, P1)> as SystemParam>::Item<'w, 's>
unsafe fn get_param<'w, 's>( state: &'s mut <ParamSet<'_w, '_s, (P0, P1)> as SystemParam>::State, system_meta: &SystemMeta, world: UnsafeWorldCell<'w>, change_tick: Tick, ) -> <ParamSet<'_w, '_s, (P0, P1)> as SystemParam>::Item<'w, 's>
SystemParamFunction. Read moresource§fn queue(
state: &mut Self::State,
system_meta: &SystemMeta,
world: DeferredWorld<'_>,
)
fn queue( state: &mut Self::State, system_meta: &SystemMeta, world: DeferredWorld<'_>, )
apply_deferred.source§impl<'_w, '_s, P0, P1, P2> SystemParam for ParamSet<'_w, '_s, (P0, P1, P2)>
impl<'_w, '_s, P0, P1, P2> SystemParam for ParamSet<'_w, '_s, (P0, P1, P2)>
source§type State = (<P0 as SystemParam>::State, <P1 as SystemParam>::State, <P2 as SystemParam>::State)
type State = (<P0 as SystemParam>::State, <P1 as SystemParam>::State, <P2 as SystemParam>::State)
source§type Item<'w, 's> = ParamSet<'w, 's, (P0, P1, P2)>
type Item<'w, 's> = ParamSet<'w, 's, (P0, P1, P2)>
Self, instantiated with new lifetimes. Read moresource§fn init_state(
world: &mut World,
system_meta: &mut SystemMeta,
) -> <ParamSet<'_w, '_s, (P0, P1, P2)> as SystemParam>::State
fn init_state( world: &mut World, system_meta: &mut SystemMeta, ) -> <ParamSet<'_w, '_s, (P0, P1, P2)> as SystemParam>::State
World access used by this SystemParam
and creates a new instance of this param’s State.source§unsafe fn new_archetype(
state: &mut <ParamSet<'_w, '_s, (P0, P1, P2)> as SystemParam>::State,
archetype: &Archetype,
system_meta: &mut SystemMeta,
)
unsafe fn new_archetype( state: &mut <ParamSet<'_w, '_s, (P0, P1, P2)> as SystemParam>::State, archetype: &Archetype, system_meta: &mut SystemMeta, )
Archetype, registers the components accessed by this SystemParam (if applicable).a Read moresource§fn apply(
state: &mut <ParamSet<'_w, '_s, (P0, P1, P2)> as SystemParam>::State,
system_meta: &SystemMeta,
world: &mut World,
)
fn apply( state: &mut <ParamSet<'_w, '_s, (P0, P1, P2)> as SystemParam>::State, system_meta: &SystemMeta, world: &mut World, )
SystemParam’s state.
This is used to apply Commands during apply_deferred.source§unsafe fn get_param<'w, 's>(
state: &'s mut <ParamSet<'_w, '_s, (P0, P1, P2)> as SystemParam>::State,
system_meta: &SystemMeta,
world: UnsafeWorldCell<'w>,
change_tick: Tick,
) -> <ParamSet<'_w, '_s, (P0, P1, P2)> as SystemParam>::Item<'w, 's>
unsafe fn get_param<'w, 's>( state: &'s mut <ParamSet<'_w, '_s, (P0, P1, P2)> as SystemParam>::State, system_meta: &SystemMeta, world: UnsafeWorldCell<'w>, change_tick: Tick, ) -> <ParamSet<'_w, '_s, (P0, P1, P2)> as SystemParam>::Item<'w, 's>
SystemParamFunction. Read moresource§fn queue(
state: &mut Self::State,
system_meta: &SystemMeta,
world: DeferredWorld<'_>,
)
fn queue( state: &mut Self::State, system_meta: &SystemMeta, world: DeferredWorld<'_>, )
apply_deferred.source§impl<'_w, '_s, P0, P1, P2, P3> SystemParam for ParamSet<'_w, '_s, (P0, P1, P2, P3)>
impl<'_w, '_s, P0, P1, P2, P3> SystemParam for ParamSet<'_w, '_s, (P0, P1, P2, P3)>
source§type State = (<P0 as SystemParam>::State, <P1 as SystemParam>::State, <P2 as SystemParam>::State, <P3 as SystemParam>::State)
type State = (<P0 as SystemParam>::State, <P1 as SystemParam>::State, <P2 as SystemParam>::State, <P3 as SystemParam>::State)
source§type Item<'w, 's> = ParamSet<'w, 's, (P0, P1, P2, P3)>
type Item<'w, 's> = ParamSet<'w, 's, (P0, P1, P2, P3)>
Self, instantiated with new lifetimes. Read moresource§fn init_state(
world: &mut World,
system_meta: &mut SystemMeta,
) -> <ParamSet<'_w, '_s, (P0, P1, P2, P3)> as SystemParam>::State
fn init_state( world: &mut World, system_meta: &mut SystemMeta, ) -> <ParamSet<'_w, '_s, (P0, P1, P2, P3)> as SystemParam>::State
World access used by this SystemParam
and creates a new instance of this param’s State.source§unsafe fn new_archetype(
state: &mut <ParamSet<'_w, '_s, (P0, P1, P2, P3)> as SystemParam>::State,
archetype: &Archetype,
system_meta: &mut SystemMeta,
)
unsafe fn new_archetype( state: &mut <ParamSet<'_w, '_s, (P0, P1, P2, P3)> as SystemParam>::State, archetype: &Archetype, system_meta: &mut SystemMeta, )
Archetype, registers the components accessed by this SystemParam (if applicable).a Read moresource§fn apply(
state: &mut <ParamSet<'_w, '_s, (P0, P1, P2, P3)> as SystemParam>::State,
system_meta: &SystemMeta,
world: &mut World,
)
fn apply( state: &mut <ParamSet<'_w, '_s, (P0, P1, P2, P3)> as SystemParam>::State, system_meta: &SystemMeta, world: &mut World, )
SystemParam’s state.
This is used to apply Commands during apply_deferred.source§unsafe fn get_param<'w, 's>(
state: &'s mut <ParamSet<'_w, '_s, (P0, P1, P2, P3)> as SystemParam>::State,
system_meta: &SystemMeta,
world: UnsafeWorldCell<'w>,
change_tick: Tick,
) -> <ParamSet<'_w, '_s, (P0, P1, P2, P3)> as SystemParam>::Item<'w, 's>
unsafe fn get_param<'w, 's>( state: &'s mut <ParamSet<'_w, '_s, (P0, P1, P2, P3)> as SystemParam>::State, system_meta: &SystemMeta, world: UnsafeWorldCell<'w>, change_tick: Tick, ) -> <ParamSet<'_w, '_s, (P0, P1, P2, P3)> as SystemParam>::Item<'w, 's>
SystemParamFunction. Read moresource§fn queue(
state: &mut Self::State,
system_meta: &SystemMeta,
world: DeferredWorld<'_>,
)
fn queue( state: &mut Self::State, system_meta: &SystemMeta, world: DeferredWorld<'_>, )
apply_deferred.source§impl<'_w, '_s, P0, P1, P2, P3, P4> SystemParam for ParamSet<'_w, '_s, (P0, P1, P2, P3, P4)>
impl<'_w, '_s, P0, P1, P2, P3, P4> SystemParam for ParamSet<'_w, '_s, (P0, P1, P2, P3, P4)>
source§type State = (<P0 as SystemParam>::State, <P1 as SystemParam>::State, <P2 as SystemParam>::State, <P3 as SystemParam>::State, <P4 as SystemParam>::State)
type State = (<P0 as SystemParam>::State, <P1 as SystemParam>::State, <P2 as SystemParam>::State, <P3 as SystemParam>::State, <P4 as SystemParam>::State)
source§type Item<'w, 's> = ParamSet<'w, 's, (P0, P1, P2, P3, P4)>
type Item<'w, 's> = ParamSet<'w, 's, (P0, P1, P2, P3, P4)>
Self, instantiated with new lifetimes. Read moresource§fn init_state(
world: &mut World,
system_meta: &mut SystemMeta,
) -> <ParamSet<'_w, '_s, (P0, P1, P2, P3, P4)> as SystemParam>::State
fn init_state( world: &mut World, system_meta: &mut SystemMeta, ) -> <ParamSet<'_w, '_s, (P0, P1, P2, P3, P4)> as SystemParam>::State
World access used by this SystemParam
and creates a new instance of this param’s State.source§unsafe fn new_archetype(
state: &mut <ParamSet<'_w, '_s, (P0, P1, P2, P3, P4)> as SystemParam>::State,
archetype: &Archetype,
system_meta: &mut SystemMeta,
)
unsafe fn new_archetype( state: &mut <ParamSet<'_w, '_s, (P0, P1, P2, P3, P4)> as SystemParam>::State, archetype: &Archetype, system_meta: &mut SystemMeta, )
Archetype, registers the components accessed by this SystemParam (if applicable).a Read moresource§fn apply(
state: &mut <ParamSet<'_w, '_s, (P0, P1, P2, P3, P4)> as SystemParam>::State,
system_meta: &SystemMeta,
world: &mut World,
)
fn apply( state: &mut <ParamSet<'_w, '_s, (P0, P1, P2, P3, P4)> as SystemParam>::State, system_meta: &SystemMeta, world: &mut World, )
SystemParam’s state.
This is used to apply Commands during apply_deferred.source§unsafe fn get_param<'w, 's>(
state: &'s mut <ParamSet<'_w, '_s, (P0, P1, P2, P3, P4)> as SystemParam>::State,
system_meta: &SystemMeta,
world: UnsafeWorldCell<'w>,
change_tick: Tick,
) -> <ParamSet<'_w, '_s, (P0, P1, P2, P3, P4)> as SystemParam>::Item<'w, 's>
unsafe fn get_param<'w, 's>( state: &'s mut <ParamSet<'_w, '_s, (P0, P1, P2, P3, P4)> as SystemParam>::State, system_meta: &SystemMeta, world: UnsafeWorldCell<'w>, change_tick: Tick, ) -> <ParamSet<'_w, '_s, (P0, P1, P2, P3, P4)> as SystemParam>::Item<'w, 's>
SystemParamFunction. Read moresource§fn queue(
state: &mut Self::State,
system_meta: &SystemMeta,
world: DeferredWorld<'_>,
)
fn queue( state: &mut Self::State, system_meta: &SystemMeta, world: DeferredWorld<'_>, )
apply_deferred.source§impl<'_w, '_s, P0, P1, P2, P3, P4, P5> SystemParam for ParamSet<'_w, '_s, (P0, P1, P2, P3, P4, P5)>where
P0: SystemParam,
P1: SystemParam,
P2: SystemParam,
P3: SystemParam,
P4: SystemParam,
P5: SystemParam,
impl<'_w, '_s, P0, P1, P2, P3, P4, P5> SystemParam for ParamSet<'_w, '_s, (P0, P1, P2, P3, P4, P5)>where
P0: SystemParam,
P1: SystemParam,
P2: SystemParam,
P3: SystemParam,
P4: SystemParam,
P5: SystemParam,
source§type State = (<P0 as SystemParam>::State, <P1 as SystemParam>::State, <P2 as SystemParam>::State, <P3 as SystemParam>::State, <P4 as SystemParam>::State, <P5 as SystemParam>::State)
type State = (<P0 as SystemParam>::State, <P1 as SystemParam>::State, <P2 as SystemParam>::State, <P3 as SystemParam>::State, <P4 as SystemParam>::State, <P5 as SystemParam>::State)
source§type Item<'w, 's> = ParamSet<'w, 's, (P0, P1, P2, P3, P4, P5)>
type Item<'w, 's> = ParamSet<'w, 's, (P0, P1, P2, P3, P4, P5)>
Self, instantiated with new lifetimes. Read moresource§fn init_state(
world: &mut World,
system_meta: &mut SystemMeta,
) -> <ParamSet<'_w, '_s, (P0, P1, P2, P3, P4, P5)> as SystemParam>::State
fn init_state( world: &mut World, system_meta: &mut SystemMeta, ) -> <ParamSet<'_w, '_s, (P0, P1, P2, P3, P4, P5)> as SystemParam>::State
World access used by this SystemParam
and creates a new instance of this param’s State.source§unsafe fn new_archetype(
state: &mut <ParamSet<'_w, '_s, (P0, P1, P2, P3, P4, P5)> as SystemParam>::State,
archetype: &Archetype,
system_meta: &mut SystemMeta,
)
unsafe fn new_archetype( state: &mut <ParamSet<'_w, '_s, (P0, P1, P2, P3, P4, P5)> as SystemParam>::State, archetype: &Archetype, system_meta: &mut SystemMeta, )
Archetype, registers the components accessed by this SystemParam (if applicable).a Read moresource§fn apply(
state: &mut <ParamSet<'_w, '_s, (P0, P1, P2, P3, P4, P5)> as SystemParam>::State,
system_meta: &SystemMeta,
world: &mut World,
)
fn apply( state: &mut <ParamSet<'_w, '_s, (P0, P1, P2, P3, P4, P5)> as SystemParam>::State, system_meta: &SystemMeta, world: &mut World, )
SystemParam’s state.
This is used to apply Commands during apply_deferred.source§unsafe fn get_param<'w, 's>(
state: &'s mut <ParamSet<'_w, '_s, (P0, P1, P2, P3, P4, P5)> as SystemParam>::State,
system_meta: &SystemMeta,
world: UnsafeWorldCell<'w>,
change_tick: Tick,
) -> <ParamSet<'_w, '_s, (P0, P1, P2, P3, P4, P5)> as SystemParam>::Item<'w, 's>
unsafe fn get_param<'w, 's>( state: &'s mut <ParamSet<'_w, '_s, (P0, P1, P2, P3, P4, P5)> as SystemParam>::State, system_meta: &SystemMeta, world: UnsafeWorldCell<'w>, change_tick: Tick, ) -> <ParamSet<'_w, '_s, (P0, P1, P2, P3, P4, P5)> as SystemParam>::Item<'w, 's>
SystemParamFunction. Read moresource§fn queue(
state: &mut Self::State,
system_meta: &SystemMeta,
world: DeferredWorld<'_>,
)
fn queue( state: &mut Self::State, system_meta: &SystemMeta, world: DeferredWorld<'_>, )
apply_deferred.source§impl<'_w, '_s, P0, P1, P2, P3, P4, P5, P6> SystemParam for ParamSet<'_w, '_s, (P0, P1, P2, P3, P4, P5, P6)>where
P0: SystemParam,
P1: SystemParam,
P2: SystemParam,
P3: SystemParam,
P4: SystemParam,
P5: SystemParam,
P6: SystemParam,
impl<'_w, '_s, P0, P1, P2, P3, P4, P5, P6> SystemParam for ParamSet<'_w, '_s, (P0, P1, P2, P3, P4, P5, P6)>where
P0: SystemParam,
P1: SystemParam,
P2: SystemParam,
P3: SystemParam,
P4: SystemParam,
P5: SystemParam,
P6: SystemParam,
source§type State = (<P0 as SystemParam>::State, <P1 as SystemParam>::State, <P2 as SystemParam>::State, <P3 as SystemParam>::State, <P4 as SystemParam>::State, <P5 as SystemParam>::State, <P6 as SystemParam>::State)
type State = (<P0 as SystemParam>::State, <P1 as SystemParam>::State, <P2 as SystemParam>::State, <P3 as SystemParam>::State, <P4 as SystemParam>::State, <P5 as SystemParam>::State, <P6 as SystemParam>::State)
source§type Item<'w, 's> = ParamSet<'w, 's, (P0, P1, P2, P3, P4, P5, P6)>
type Item<'w, 's> = ParamSet<'w, 's, (P0, P1, P2, P3, P4, P5, P6)>
Self, instantiated with new lifetimes. Read moresource§fn init_state(
world: &mut World,
system_meta: &mut SystemMeta,
) -> <ParamSet<'_w, '_s, (P0, P1, P2, P3, P4, P5, P6)> as SystemParam>::State
fn init_state( world: &mut World, system_meta: &mut SystemMeta, ) -> <ParamSet<'_w, '_s, (P0, P1, P2, P3, P4, P5, P6)> as SystemParam>::State
World access used by this SystemParam
and creates a new instance of this param’s State.source§unsafe fn new_archetype(
state: &mut <ParamSet<'_w, '_s, (P0, P1, P2, P3, P4, P5, P6)> as SystemParam>::State,
archetype: &Archetype,
system_meta: &mut SystemMeta,
)
unsafe fn new_archetype( state: &mut <ParamSet<'_w, '_s, (P0, P1, P2, P3, P4, P5, P6)> as SystemParam>::State, archetype: &Archetype, system_meta: &mut SystemMeta, )
Archetype, registers the components accessed by this SystemParam (if applicable).a Read moresource§fn apply(
state: &mut <ParamSet<'_w, '_s, (P0, P1, P2, P3, P4, P5, P6)> as SystemParam>::State,
system_meta: &SystemMeta,
world: &mut World,
)
fn apply( state: &mut <ParamSet<'_w, '_s, (P0, P1, P2, P3, P4, P5, P6)> as SystemParam>::State, system_meta: &SystemMeta, world: &mut World, )
SystemParam’s state.
This is used to apply Commands during apply_deferred.source§unsafe fn get_param<'w, 's>(
state: &'s mut <ParamSet<'_w, '_s, (P0, P1, P2, P3, P4, P5, P6)> as SystemParam>::State,
system_meta: &SystemMeta,
world: UnsafeWorldCell<'w>,
change_tick: Tick,
) -> <ParamSet<'_w, '_s, (P0, P1, P2, P3, P4, P5, P6)> as SystemParam>::Item<'w, 's>
unsafe fn get_param<'w, 's>( state: &'s mut <ParamSet<'_w, '_s, (P0, P1, P2, P3, P4, P5, P6)> as SystemParam>::State, system_meta: &SystemMeta, world: UnsafeWorldCell<'w>, change_tick: Tick, ) -> <ParamSet<'_w, '_s, (P0, P1, P2, P3, P4, P5, P6)> as SystemParam>::Item<'w, 's>
SystemParamFunction. Read moresource§fn queue(
state: &mut Self::State,
system_meta: &SystemMeta,
world: DeferredWorld<'_>,
)
fn queue( state: &mut Self::State, system_meta: &SystemMeta, world: DeferredWorld<'_>, )
apply_deferred.source§impl<'_w, '_s, P0, P1, P2, P3, P4, P5, P6, P7> SystemParam for ParamSet<'_w, '_s, (P0, P1, P2, P3, P4, P5, P6, P7)>where
P0: SystemParam,
P1: SystemParam,
P2: SystemParam,
P3: SystemParam,
P4: SystemParam,
P5: SystemParam,
P6: SystemParam,
P7: SystemParam,
impl<'_w, '_s, P0, P1, P2, P3, P4, P5, P6, P7> SystemParam for ParamSet<'_w, '_s, (P0, P1, P2, P3, P4, P5, P6, P7)>where
P0: SystemParam,
P1: SystemParam,
P2: SystemParam,
P3: SystemParam,
P4: SystemParam,
P5: SystemParam,
P6: SystemParam,
P7: SystemParam,
source§type State = (<P0 as SystemParam>::State, <P1 as SystemParam>::State, <P2 as SystemParam>::State, <P3 as SystemParam>::State, <P4 as SystemParam>::State, <P5 as SystemParam>::State, <P6 as SystemParam>::State, <P7 as SystemParam>::State)
type State = (<P0 as SystemParam>::State, <P1 as SystemParam>::State, <P2 as SystemParam>::State, <P3 as SystemParam>::State, <P4 as SystemParam>::State, <P5 as SystemParam>::State, <P6 as SystemParam>::State, <P7 as SystemParam>::State)
source§type Item<'w, 's> = ParamSet<'w, 's, (P0, P1, P2, P3, P4, P5, P6, P7)>
type Item<'w, 's> = ParamSet<'w, 's, (P0, P1, P2, P3, P4, P5, P6, P7)>
Self, instantiated with new lifetimes. Read moresource§fn init_state(
world: &mut World,
system_meta: &mut SystemMeta,
) -> <ParamSet<'_w, '_s, (P0, P1, P2, P3, P4, P5, P6, P7)> as SystemParam>::State
fn init_state( world: &mut World, system_meta: &mut SystemMeta, ) -> <ParamSet<'_w, '_s, (P0, P1, P2, P3, P4, P5, P6, P7)> as SystemParam>::State
World access used by this SystemParam
and creates a new instance of this param’s State.source§unsafe fn new_archetype(
state: &mut <ParamSet<'_w, '_s, (P0, P1, P2, P3, P4, P5, P6, P7)> as SystemParam>::State,
archetype: &Archetype,
system_meta: &mut SystemMeta,
)
unsafe fn new_archetype( state: &mut <ParamSet<'_w, '_s, (P0, P1, P2, P3, P4, P5, P6, P7)> as SystemParam>::State, archetype: &Archetype, system_meta: &mut SystemMeta, )
Archetype, registers the components accessed by this SystemParam (if applicable).a Read moresource§fn apply(
state: &mut <ParamSet<'_w, '_s, (P0, P1, P2, P3, P4, P5, P6, P7)> as SystemParam>::State,
system_meta: &SystemMeta,
world: &mut World,
)
fn apply( state: &mut <ParamSet<'_w, '_s, (P0, P1, P2, P3, P4, P5, P6, P7)> as SystemParam>::State, system_meta: &SystemMeta, world: &mut World, )
SystemParam’s state.
This is used to apply Commands during apply_deferred.source§unsafe fn get_param<'w, 's>(
state: &'s mut <ParamSet<'_w, '_s, (P0, P1, P2, P3, P4, P5, P6, P7)> as SystemParam>::State,
system_meta: &SystemMeta,
world: UnsafeWorldCell<'w>,
change_tick: Tick,
) -> <ParamSet<'_w, '_s, (P0, P1, P2, P3, P4, P5, P6, P7)> as SystemParam>::Item<'w, 's>
unsafe fn get_param<'w, 's>( state: &'s mut <ParamSet<'_w, '_s, (P0, P1, P2, P3, P4, P5, P6, P7)> as SystemParam>::State, system_meta: &SystemMeta, world: UnsafeWorldCell<'w>, change_tick: Tick, ) -> <ParamSet<'_w, '_s, (P0, P1, P2, P3, P4, P5, P6, P7)> as SystemParam>::Item<'w, 's>
SystemParamFunction. Read moresource§fn queue(
state: &mut Self::State,
system_meta: &SystemMeta,
world: DeferredWorld<'_>,
)
fn queue( state: &mut Self::State, system_meta: &SystemMeta, world: DeferredWorld<'_>, )
apply_deferred.impl<'w, 's, P0> ReadOnlySystemParam for ParamSet<'w, 's, (P0,)>where
P0: ReadOnlySystemParam,
impl<'w, 's, P0, P1> ReadOnlySystemParam for ParamSet<'w, 's, (P0, P1)>where
P0: ReadOnlySystemParam,
P1: ReadOnlySystemParam,
impl<'w, 's, P0, P1, P2> ReadOnlySystemParam for ParamSet<'w, 's, (P0, P1, P2)>
impl<'w, 's, P0, P1, P2, P3> ReadOnlySystemParam for ParamSet<'w, 's, (P0, P1, P2, P3)>where
P0: ReadOnlySystemParam,
P1: ReadOnlySystemParam,
P2: ReadOnlySystemParam,
P3: ReadOnlySystemParam,
impl<'w, 's, P0, P1, P2, P3, P4> ReadOnlySystemParam for ParamSet<'w, 's, (P0, P1, P2, P3, P4)>where
P0: ReadOnlySystemParam,
P1: ReadOnlySystemParam,
P2: ReadOnlySystemParam,
P3: ReadOnlySystemParam,
P4: ReadOnlySystemParam,
impl<'w, 's, P0, P1, P2, P3, P4, P5> ReadOnlySystemParam for ParamSet<'w, 's, (P0, P1, P2, P3, P4, P5)>where
P0: ReadOnlySystemParam,
P1: ReadOnlySystemParam,
P2: ReadOnlySystemParam,
P3: ReadOnlySystemParam,
P4: ReadOnlySystemParam,
P5: ReadOnlySystemParam,
impl<'w, 's, P0, P1, P2, P3, P4, P5, P6> ReadOnlySystemParam for ParamSet<'w, 's, (P0, P1, P2, P3, P4, P5, P6)>where
P0: ReadOnlySystemParam,
P1: ReadOnlySystemParam,
P2: ReadOnlySystemParam,
P3: ReadOnlySystemParam,
P4: ReadOnlySystemParam,
P5: ReadOnlySystemParam,
P6: ReadOnlySystemParam,
impl<'w, 's, P0, P1, P2, P3, P4, P5, P6, P7> ReadOnlySystemParam for ParamSet<'w, 's, (P0, P1, P2, P3, P4, P5, P6, P7)>where
P0: ReadOnlySystemParam,
P1: ReadOnlySystemParam,
P2: ReadOnlySystemParam,
P3: ReadOnlySystemParam,
P4: ReadOnlySystemParam,
P5: ReadOnlySystemParam,
P6: ReadOnlySystemParam,
P7: ReadOnlySystemParam,
Auto Trait Implementations§
impl<'w, 's, T> Freeze for ParamSet<'w, 's, T>
impl<'w, 's, T> !RefUnwindSafe for ParamSet<'w, 's, T>
impl<'w, 's, T> Send for ParamSet<'w, 's, T>
impl<'w, 's, T> Sync for ParamSet<'w, 's, T>
impl<'w, 's, T> Unpin for ParamSet<'w, 's, T>
impl<'w, 's, T> !UnwindSafe for ParamSet<'w, 's, T>
Blanket Implementations§
source§impl<T, U> AsBindGroupShaderType<U> for T
impl<T, U> AsBindGroupShaderType<U> for T
source§fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
T ShaderType for self. When used in AsBindGroup
derives, it is safe to assume that all images in self exist.source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
source§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more