pub trait EntityComponentBehaviourRegistry: Send + Sync {
// Required methods
fn register<'life0, 'async_trait>(
&'life0 self,
component_behaviour_ty: ComponentBehaviourTypeId,
factory: Arc<dyn BehaviourFactory<Uuid, ReactiveEntity> + Send + Sync>,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn unregister<'life0, 'life1, 'async_trait>(
&'life0 self,
component_behaviour_ty: &'life1 ComponentBehaviourTypeId,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
// Provided methods
fn register_all<'life0, 'life1, 'async_trait>(
&'life0 self,
factories: &'life1 BehaviourFactories<Uuid, ReactiveEntity>,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn unregister_all<'life0, 'life1, 'async_trait>(
&'life0 self,
tys: &'life1 ComponentBehaviourTypeIds,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
}
Required Methods§
Sourcefn register<'life0, 'async_trait>(
&'life0 self,
component_behaviour_ty: ComponentBehaviourTypeId,
factory: Arc<dyn BehaviourFactory<Uuid, ReactiveEntity> + Send + Sync>,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn register<'life0, 'async_trait>(
&'life0 self,
component_behaviour_ty: ComponentBehaviourTypeId,
factory: Arc<dyn BehaviourFactory<Uuid, ReactiveEntity> + Send + Sync>,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Registers a factory for creating entity component behaviours. If an entity instance has the given component then the given behaviour is applied. The behaviour will be created using the given EntityBehaviourCreator.
Sourcefn unregister<'life0, 'life1, 'async_trait>(
&'life0 self,
component_behaviour_ty: &'life1 ComponentBehaviourTypeId,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn unregister<'life0, 'life1, 'async_trait>(
&'life0 self,
component_behaviour_ty: &'life1 ComponentBehaviourTypeId,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Unregisters an entity component behaviour factory.
Provided Methods§
fn register_all<'life0, 'life1, 'async_trait>(
&'life0 self,
factories: &'life1 BehaviourFactories<Uuid, ReactiveEntity>,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Sourcefn unregister_all<'life0, 'life1, 'async_trait>(
&'life0 self,
tys: &'life1 ComponentBehaviourTypeIds,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn unregister_all<'life0, 'life1, 'async_trait>(
&'life0 self,
tys: &'life1 ComponentBehaviourTypeIds,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Unregisters all factories with the given entity component behaviour types.