summaryrefslogtreecommitdiff
path: root/src/sim/sim_manager/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/sim/sim_manager/mod.rs')
-rw-r--r--src/sim/sim_manager/mod.rs15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/sim/sim_manager/mod.rs b/src/sim/sim_manager/mod.rs
index be75eeb..89ae528 100644
--- a/src/sim/sim_manager/mod.rs
+++ b/src/sim/sim_manager/mod.rs
@@ -7,10 +7,12 @@ use crate::{
config::{PHYSICS_DELTA_TIME, PHYSICS_FPS, SIM_FPS},
sim::{
cell_manager::manager::CellManager,
- entity::{Entity, EntityDef, EntityId},
+ entity::{Entity, EntityDef, EntityId, EntityUpdateResult},
particle_manager::ParticleManager,
rb_manager::RbManager,
- sim_manager::utils::{read_back_entities_from_world, write_entities_to_world},
+ sim_manager::utils::{
+ process_entity_update_result, read_back_entities_from_world, write_entities_to_world,
+ },
},
};
@@ -112,10 +114,7 @@ impl SimManager {
if let Some(entity) = entity
&& let Some(result) = entity.update(&mut ctx, delta_time)
{
- // process entity update results
- for d in result.deferred_destructions {
- self.destroy_entity(d);
- }
+ process_entity_update_result(self, result);
}
}
@@ -136,9 +135,7 @@ impl SimManager {
if let Some(entity) = entity
&& let Some(result) = entity.physics_update(&mut ctx, delta_time)
{
- for d in result.deferred_destructions {
- self.destroy_entity(d);
- }
+ process_entity_update_result(self, result);
}
}
// before we move the rigidbodies, upsert the current terrain state