no direct slice indexing

This commit is contained in:
Emilia Allison 2025-01-04 20:23:09 -05:00
parent 453ad9ed35
commit 949822f26c
Signed by: emilia
GPG Key ID: 05D5D1107E5100A1
1 changed files with 18 additions and 13 deletions

View File

@ -148,12 +148,14 @@ fn calculate_shading_for_wells(
x.volume += 5.0;
x.color = PALETTE.get_ordered(transfer.id, ordered_ids);
} else {
well_infos
[(well.row - 1) as usize * columns as usize + (well.col - 1) as usize] =
Some(WellInfo::new(
if let Some(mut wi) = well_infos.get_mut(
(well.row - 1) as usize * columns as usize + (well.col - 1) as usize,
) {
*wi = Some(WellInfo::new(
5.0,
PALETTE.get_ordered(transfer.id, ordered_ids),
));
}
}
}
}
@ -276,17 +278,20 @@ fn add_plate_sub(
};
if let Some(wells) = current_transfer_wells {
for w in wells {
let well_info = &mut well_infos[(w.0 - 1) * columns as usize + (w.1 - 1)];
let volume = well_info.map(|x| x.volume).unwrap_or(0.0)
+ current_transfer_state
.and_then(|x| x.lock().ok())
.map(|x| x.volume)
.unwrap_or(0.0);
if let Some(mut well_info) =
well_infos.get_mut((w.0 - 1) * columns as usize + (w.1 - 1))
{
let volume = well_info.map(|x| x.volume).unwrap_or(0.0)
+ current_transfer_state
.and_then(|x| x.lock().ok())
.map(|x| x.volume)
.unwrap_or(0.0);
*well_info = Some(WellInfo {
color: [255.0, 255.0, 255.0],
volume: 1.0,
})
*well_info = Some(WellInfo {
color: [255.0, 255.0, 255.0],
volume: 1.0,
})
}
}
}
well_infos