mirror of
https://github.com/Xevion/Pac-Man.git
synced 2025-12-14 20:12:24 -06:00
chore: fix clippy lints part 972
This commit is contained in:
@@ -32,6 +32,7 @@ pub fn can_traverse(entity_type: EntityType, edge: Edge) -> bool {
|
|||||||
/// toggling, audio muting, and game exit requests. Movement commands are buffered
|
/// toggling, audio muting, and game exit requests. Movement commands are buffered
|
||||||
/// to allow direction changes before reaching intersections, improving gameplay
|
/// to allow direction changes before reaching intersections, improving gameplay
|
||||||
/// responsiveness. Non-movement commands immediately modify global game state.
|
/// responsiveness. Non-movement commands immediately modify global game state.
|
||||||
|
#[allow(clippy::type_complexity)]
|
||||||
pub fn player_control_system(
|
pub fn player_control_system(
|
||||||
mut events: EventReader<GameEvent>,
|
mut events: EventReader<GameEvent>,
|
||||||
mut state: ResMut<GlobalState>,
|
mut state: ResMut<GlobalState>,
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ use sdl2::pixels::Color;
|
|||||||
use sdl2::rect::{Point, Rect};
|
use sdl2::rect::{Point, Rect};
|
||||||
use sdl2::render::{BlendMode, Canvas, Texture};
|
use sdl2::render::{BlendMode, Canvas, Texture};
|
||||||
use sdl2::video::Window;
|
use sdl2::video::Window;
|
||||||
|
use std::cmp::Ordering;
|
||||||
use std::time::Instant;
|
use std::time::Instant;
|
||||||
|
|
||||||
/// A component for entities that have a sprite, with a layer for ordering.
|
/// A component for entities that have a sprite, with a layer for ordering.
|
||||||
@@ -83,8 +84,11 @@ pub fn player_life_sprite_system(
|
|||||||
// Calculate the difference
|
// Calculate the difference
|
||||||
let diff = (displayed_lives as i8) - (current_count as i8);
|
let diff = (displayed_lives as i8) - (current_count as i8);
|
||||||
|
|
||||||
if diff > 0 {
|
match diff.cmp(&0) {
|
||||||
|
// Ignore when the number of lives displayed is correct
|
||||||
|
Ordering::Equal => {}
|
||||||
// Spawn new life sprites
|
// Spawn new life sprites
|
||||||
|
Ordering::Greater => {
|
||||||
let life_sprite = match atlas.get_tile(&GameSprite::Pacman(PacmanSprite::Moving(Direction::Left, 1)).to_path()) {
|
let life_sprite = match atlas.get_tile(&GameSprite::Pacman(PacmanSprite::Moving(Direction::Left, 1)).to_path()) {
|
||||||
Ok(sprite) => sprite,
|
Ok(sprite) => sprite,
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
@@ -93,7 +97,7 @@ pub fn player_life_sprite_system(
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
for i in 0..diff.abs() {
|
for i in 0..diff {
|
||||||
let position = calculate_life_sprite_position(i as u32);
|
let position = calculate_life_sprite_position(i as u32);
|
||||||
|
|
||||||
commands.spawn((
|
commands.spawn((
|
||||||
@@ -107,9 +111,10 @@ pub fn player_life_sprite_system(
|
|||||||
},
|
},
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
} else if diff < 0 {
|
}
|
||||||
// Remove excess life sprites (highest indices first)
|
// Remove excess life sprites (highest indices first)
|
||||||
let to_remove = diff.abs() as usize;
|
Ordering::Less => {
|
||||||
|
let to_remove = diff.unsigned_abs();
|
||||||
let sprites_to_remove: Vec<_> = current_sprites
|
let sprites_to_remove: Vec<_> = current_sprites
|
||||||
.iter()
|
.iter()
|
||||||
.rev() // Start from highest index
|
.rev() // Start from highest index
|
||||||
@@ -122,6 +127,7 @@ pub fn player_life_sprite_system(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// Component for Renderables to store an exact pixel position
|
/// Component for Renderables to store an exact pixel position
|
||||||
#[derive(Component)]
|
#[derive(Component)]
|
||||||
@@ -297,6 +303,7 @@ pub fn hud_render_system(
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[allow(clippy::too_many_arguments)]
|
#[allow(clippy::too_many_arguments)]
|
||||||
|
#[allow(clippy::type_complexity)]
|
||||||
pub fn render_system(
|
pub fn render_system(
|
||||||
canvas: &mut Canvas<Window>,
|
canvas: &mut Canvas<Window>,
|
||||||
map_texture: &NonSendMut<MapTextureResource>,
|
map_texture: &NonSendMut<MapTextureResource>,
|
||||||
@@ -362,6 +369,7 @@ pub fn render_system(
|
|||||||
/// Combined render system that renders to both backbuffer and debug textures in a single
|
/// Combined render system that renders to both backbuffer and debug textures in a single
|
||||||
/// with_multiple_texture_canvas call for reduced overhead
|
/// with_multiple_texture_canvas call for reduced overhead
|
||||||
#[allow(clippy::too_many_arguments)]
|
#[allow(clippy::too_many_arguments)]
|
||||||
|
#[allow(clippy::type_complexity)]
|
||||||
pub fn combined_render_system(
|
pub fn combined_render_system(
|
||||||
mut canvas: NonSendMut<&mut Canvas<Window>>,
|
mut canvas: NonSendMut<&mut Canvas<Window>>,
|
||||||
map_texture: NonSendMut<MapTextureResource>,
|
map_texture: NonSendMut<MapTextureResource>,
|
||||||
|
|||||||
Reference in New Issue
Block a user