diff options
Diffstat (limited to 'ecs/src/component.rs')
-rw-r--r-- | ecs/src/component.rs | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/ecs/src/component.rs b/ecs/src/component.rs index 35e5430..b0423c5 100644 --- a/ecs/src/component.rs +++ b/ecs/src/component.rs @@ -9,7 +9,7 @@ use crate::event::component::{ Removed as ComponentRemovedEvent, }; use crate::lock::{Error as LockError, Lock, ReadGuard, WriteGuard}; -use crate::system::{ComponentRef, ComponentRefMut, Input as SystemInput}; +use crate::system::Input as SystemInput; use crate::type_name::TypeName; use crate::uid::Uid; use crate::util::Array; @@ -105,10 +105,12 @@ impl TypeName for Box<dyn Component> impl<ComponentT> Component for Option<ComponentT> where ComponentT: Component, + for<'a> Option<ComponentT::Ref<'a>>: FromOptional<'a> + FromLockedOptional<'a>, + for<'a> Option<ComponentT::RefMut<'a>>: FromOptionalMut<'a> + FromLockedOptional<'a>, { type Component = ComponentT; - type Ref<'component> = Option<ComponentRef<'component, ComponentT>>; - type RefMut<'component> = Option<ComponentRefMut<'component, ComponentT>>; + type Ref<'component> = Option<ComponentT::Ref<'component>>; + type RefMut<'component> = Option<ComponentT::RefMut<'component>>; fn id() -> Uid { |