Skip to content

Commit

Permalink
refactor(input): LevelId direct field access instead of dereference
Browse files Browse the repository at this point in the history
Replace double dereferencing with direct field access in `input.rs`,
`level.rs`, and `ui.rs` to simplify code and improve readability.
  • Loading branch information
ShenMian committed Jun 20, 2024
1 parent 51c7bb7 commit 0d45674
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 12 deletions.
2 changes: 1 addition & 1 deletion src/systems/input.rs
Original file line number Diff line number Diff line change
Expand Up @@ -443,7 +443,7 @@ pub fn file_drag_and_drop(
Ok(levels) => {
info!("Done, {} levels loaded", levels.len());
database.import_levels(&levels);
**level_id = database.get_level_id(&levels[0]).unwrap();
level_id.0 = database.get_level_id(&levels[0]).unwrap();
}
Err(msg) => warn!("Failed to load levels from file: {}", msg),
}
Expand Down
16 changes: 8 additions & 8 deletions src/systems/level.rs
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ pub fn spawn_board(
mut spritesheet_layouts: ResMut<Assets<TextureAtlasLayout>>,
) {
let database = database.lock().unwrap();
let level = database.get_level_by_id(**level_id).unwrap();
let level = database.get_level_by_id(level_id.0).unwrap();

let spritesheet_handle = asset_server.load("textures/tilesheet.png");
let tile_size = Vector2::new(128.0, 128.0);
Expand Down Expand Up @@ -151,11 +151,11 @@ pub fn auto_switch_to_next_unsolved_level(
let board = &mut board.single_mut().board;
debug_assert!(board.is_solved());
info!("{}", "=".repeat(15));
info!("#{} Sloved!", **level_id);
info!("#{} Sloved!", level_id.0);
info!("Moves : {}", board.actions().moves());
info!("Pushes : {}", board.actions().pushes());
info!("Solution: {}", board.actions().to_string());
database.update_solution(**level_id, board.actions());
database.update_solution(level_id.0, board.actions());
switch_to_next_unsolved_level(&mut level_id, &database);
}

Expand All @@ -170,7 +170,7 @@ pub fn import_from_clipboard(level_id: &mut LevelId, database: &database::Databa
}
info!("import {} levels from clipboard", levels.len());
database.import_levels(&levels);
**level_id = database.get_level_id(&levels[0]).unwrap();
level_id.0 = database.get_level_id(&levels[0]).unwrap();
}
Err(msg) => error!("failed to import levels from clipboard: {}", msg),
}
Expand Down Expand Up @@ -199,14 +199,14 @@ pub fn switch_to_previous_unsolved_level(level_id: &mut LevelId, database: &data

/// Switches to the next level based on the current level ID.
pub fn switch_to_next_level(level_id: &mut LevelId, database: &database::Database) {
if **level_id < database.max_level_id().unwrap() {
**level_id += 1;
if level_id.0 < database.max_level_id().unwrap() {
level_id.0 += 1;
}
}

/// Switches to the previous level based on the current level ID.
pub fn switch_to_previous_level(level_id: &mut LevelId, database: &database::Database) {
if **level_id > database.min_level_id().unwrap() {
**level_id -= 1;
if level_id.0 > database.min_level_id().unwrap() {
level_id.0 -= 1;
}
}
6 changes: 3 additions & 3 deletions src/systems/ui.rs
Original file line number Diff line number Diff line change
Expand Up @@ -73,20 +73,20 @@ pub fn update_hud(
let board = &board.single().board;

if level_id.is_changed() {
hud.sections[1].value = format!("#{}\n", **level_id);
hud.sections[1].value = format!("#{}\n", level_id.0);

let database = database.lock().unwrap();
hud.sections[7].value = format!(
"{}\n",
database
.best_move_solution(**level_id)
.best_move_solution(level_id.0)
.unwrap_or_default()
.moves()
);
hud.sections[9].value = format!(
"{}\n",
database
.best_push_solution(**level_id)
.best_push_solution(level_id.0)
.unwrap_or_default()
.pushes()
);
Expand Down

0 comments on commit 0d45674

Please sign in to comment.