diff options
Diffstat (limited to 'src/sim/entity/mod.rs')
| -rw-r--r-- | src/sim/entity/mod.rs | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/sim/entity/mod.rs b/src/sim/entity/mod.rs index 0d8ae71..044d07c 100644 --- a/src/sim/entity/mod.rs +++ b/src/sim/entity/mod.rs @@ -89,20 +89,23 @@ impl EntityDef { } } +#[derive(Clone, Copy, PartialEq, Eq, Debug, Hash)] +pub struct EntityId(pub u32); + pub struct EntityData { - pub id: u32, + pub id: EntityId, pub rb_h: Option<RigidBodyHandle>, pub collider_h: Option<ColliderHandle>, pub cells: Option<EntityCells>, } pub struct EntityUpdateResult { - pub deferred_destructions: Vec<u32>, + pub deferred_destructions: Vec<EntityId>, } pub struct EntityUpdateCtx<'a> { pub entity_data: &'a mut EntityData, - deferred_destructions: Vec<u32>, + deferred_destructions: Vec<EntityId>, } impl<'a> EntityUpdateCtx<'a> { @@ -112,7 +115,7 @@ impl<'a> EntityUpdateCtx<'a> { deferred_destructions: Vec::new(), } } - pub fn deferred_destroy(&mut self, entity_id: u32) { + pub fn deferred_destroy(&mut self, entity_id: EntityId) { self.deferred_destructions.push(entity_id); } pub fn to_result(self) -> EntityUpdateResult { @@ -177,7 +180,7 @@ impl Entity { } pub fn new( - id: u32, + id: EntityId, rb_h: Option<RigidBodyHandle>, collider_h: Option<ColliderHandle>, cells: Option<EntityCells>, |
