common: gameplay_modes: rename internal field on ModeBuilder

This commit is contained in:
2025-02-28 12:37:49 -08:00
parent 709f622547
commit 2c87cb71df

@ -342,7 +342,7 @@ impl Updatable<ModesUpdate> for Modes{
struct ModeBuilder{ struct ModeBuilder{
mode:Mode, mode:Mode,
final_stage_id_from_builder_stage_id:HashMap<StageId,StageId>, stage_id_map:HashMap<StageId,StageId>,
} }
#[derive(Default)] #[derive(Default)]
pub struct ModesBuilder{ pub struct ModesBuilder{
@ -357,12 +357,12 @@ impl ModesBuilder{
let mut unique_modes:Vec<(ModeId,Mode)> let mut unique_modes:Vec<(ModeId,Mode)>
=self.modes.into_iter().collect(); =self.modes.into_iter().collect();
unique_modes.sort_by_key(|&(mode_id,_)|mode_id); unique_modes.sort_by_key(|&(mode_id,_)|mode_id);
let (mut modes,final_mode_id_from_builder_mode_id):(Vec<ModeBuilder>,HashMap<ModeId,ModeId>) let (mut modes,mode_id_map):(Vec<ModeBuilder>,HashMap<ModeId,ModeId>)
=unique_modes.into_iter().enumerate() =unique_modes.into_iter().enumerate()
.map(|(final_mode_id,(builder_mode_id,mut mode))|{ .map(|(final_mode_id,(builder_mode_id,mut mode))|{
( (
ModeBuilder{ ModeBuilder{
final_stage_id_from_builder_stage_id:self.stages.remove(&builder_mode_id).map_or_else(||HashMap::new(),|stages|{ stage_id_map:self.stages.remove(&builder_mode_id).map_or_else(||HashMap::new(),|stages|{
let mut unique_stages:Vec<(StageId,Stage)> let mut unique_stages:Vec<(StageId,Stage)>
=stages.into_iter().collect(); =stages.into_iter().collect();
unique_stages.sort_by_key(|&(StageId(stage_id),_)|stage_id); unique_stages.sort_by_key(|&(StageId(stage_id),_)|stage_id);
@ -383,9 +383,9 @@ impl ModesBuilder{
//TODO: failure messages or errors or something //TODO: failure messages or errors or something
//push stage updates //push stage updates
for (builder_mode_id,builder_stage_id,stage_update) in self.stage_updates{ for (builder_mode_id,builder_stage_id,stage_update) in self.stage_updates{
if let Some(final_mode_id)=final_mode_id_from_builder_mode_id.get(&builder_mode_id){ if let Some(final_mode_id)=mode_id_map.get(&builder_mode_id){
if let Some(mode)=modes.get_mut(final_mode_id.get() as usize){ if let Some(mode)=modes.get_mut(final_mode_id.get() as usize){
if let Some(&final_stage_id)=mode.final_stage_id_from_builder_stage_id.get(&builder_stage_id){ if let Some(&final_stage_id)=mode.stage_id_map.get(&builder_stage_id){
if let Some(stage)=mode.mode.get_stage_mut(final_stage_id){ if let Some(stage)=mode.mode.get_stage_mut(final_stage_id){
stage.update(stage_update); stage.update(stage_update);
} }
@ -395,7 +395,7 @@ impl ModesBuilder{
} }
//push mode updates //push mode updates
for (builder_mode_id,mut mode_update) in self.mode_updates{ for (builder_mode_id,mut mode_update) in self.mode_updates{
if let Some(final_mode_id)=final_mode_id_from_builder_mode_id.get(&builder_mode_id){ if let Some(final_mode_id)=mode_id_map.get(&builder_mode_id){
if let Some(mode)=modes.get_mut(final_mode_id.get() as usize){ if let Some(mode)=modes.get_mut(final_mode_id.get() as usize){
//map stage id on stage elements //map stage id on stage elements
mode_update.map_stage_element_ids(|stage_id| mode_update.map_stage_element_ids(|stage_id|
@ -405,7 +405,7 @@ impl ModesBuilder{
// .value().copied().unwrap_or(StageId::FIRST) // .value().copied().unwrap_or(StageId::FIRST)
(0..=stage_id.get()).rev().find_map(|builder_stage_id| (0..=stage_id.get()).rev().find_map(|builder_stage_id|
//map the stage element to that stage //map the stage element to that stage
mode.final_stage_id_from_builder_stage_id.get(&StageId::new(builder_stage_id)).copied() mode.stage_id_map.get(&StageId::new(builder_stage_id)).copied()
).unwrap_or(StageId::FIRST) ).unwrap_or(StageId::FIRST)
); );
mode.mode.update(mode_update); mode.mode.update(mode_update);