Remove unnecessary calls to `iter()`/`iter_mut()`.
Mainly updates the use of queries in our code, docs, and examples.
```rust
// From
for _ in list.iter() {
for _ in list.iter_mut() {
// To
for _ in &list {
for _ in &mut list {
```
We already enable the pedantic lint [clippy::explicit_iter_loop](https://rust-lang.github.io/rust-clippy/stable/) inside of Bevy. However, this only warns for a few known types from the standard library.
## Note for reviewers
As you can see the additions and deletions are exactly equal.
Maybe give it a quick skim to check I didn't sneak in a crypto miner, but you don't have to torture yourself by reading every line.
I already experienced enough pain making this PR :)
Co-authored-by: devil-ira <justthecooldude@gmail.com>
41 lines
1.3 KiB
Rust
41 lines
1.3 KiB
Rust
use crate::Size;
|
|
use crate::{CalculatedSize, UiImage};
|
|
use bevy_asset::Assets;
|
|
use bevy_ecs::{
|
|
component::Component,
|
|
query::With,
|
|
reflect::ReflectComponent,
|
|
system::{Query, Res},
|
|
};
|
|
use bevy_reflect::{Reflect, ReflectDeserialize, ReflectSerialize};
|
|
use bevy_render::texture::Image;
|
|
use serde::{Deserialize, Serialize};
|
|
|
|
/// Describes how to resize the Image node
|
|
#[derive(Component, Debug, Default, Clone, Reflect, Serialize, Deserialize)]
|
|
#[reflect_value(Component, Serialize, Deserialize)]
|
|
pub enum ImageMode {
|
|
/// Keep the aspect ratio of the image
|
|
#[default]
|
|
KeepAspect,
|
|
}
|
|
|
|
/// Updates calculated size of the node based on the image provided
|
|
pub fn image_node_system(
|
|
textures: Res<Assets<Image>>,
|
|
mut query: Query<(&mut CalculatedSize, &UiImage), With<ImageMode>>,
|
|
) {
|
|
for (mut calculated_size, image) in &mut query {
|
|
if let Some(texture) = textures.get(image) {
|
|
let size = Size {
|
|
width: texture.texture_descriptor.size.width as f32,
|
|
height: texture.texture_descriptor.size.height as f32,
|
|
};
|
|
// Update only if size has changed to avoid needless layout calculations
|
|
if size != calculated_size.size {
|
|
calculated_size.size = size;
|
|
}
|
|
}
|
|
}
|
|
}
|