From 8af5413b0fd2b06f71098c1230f79b3e6beb037d Mon Sep 17 00:00:00 2001 From: HampusM Date: Fri, 24 May 2024 19:15:23 +0200 Subject: feat(ecs): add component name to component locking panic message --- ecs/src/component.rs | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) (limited to 'ecs/src/component.rs') diff --git a/ecs/src/component.rs b/ecs/src/component.rs index 9310995..3399183 100644 --- a/ecs/src/component.rs +++ b/ecs/src/component.rs @@ -191,13 +191,7 @@ macro_rules! inner { for comp in components { #( if comp.id == TypeId::of::() { - let comp_ref = comp.component - .write_nonblock() - .expect( - "Failed to acquire read-write component lock" - ); - - comp_~I = Some(comp_ref); + comp_~I = Some(lock_component(comp)); continue; } )* @@ -215,3 +209,18 @@ macro_rules! inner { seq!(C in 0..=64 { inner!(C); }); + +fn lock_component( + entity_component: &EntityComponent, +) -> WriteGuard<'_, Box> +{ + entity_component + .component + .write_nonblock() + .unwrap_or_else(|_| { + panic!( + "Failed to acquire read-write lock to component {}", + entity_component.name + ); + }) +} -- cgit v1.2.3-18-g5258