reactive_graph_behaviour_model_impl/behaviour/entity/
container.rs

1use uuid::Uuid;
2
3use reactive_graph_behaviour_model_api::prelude::*;
4use reactive_graph_reactive_model_api::ReactiveInstanceContainer;
5use reactive_graph_reactive_model_impl::ReactiveEntity;
6
7pub struct EntityReactiveInstanceContainerImpl {
8    pub reactive_instance: ReactiveEntity,
9}
10
11impl ReactiveInstanceContainer<Uuid, ReactiveEntity> for EntityReactiveInstanceContainerImpl {
12    fn get_reactive_instance(&self) -> &ReactiveEntity {
13        &self.reactive_instance
14    }
15}
16
17impl BehaviourTypesContainer for EntityReactiveInstanceContainerImpl {
18    fn get_behaviours(&self) -> Vec<BehaviourTypeId> {
19        self.reactive_instance.get_behaviours()
20    }
21
22    fn add_behaviour(&self, ty: BehaviourTypeId) {
23        self.reactive_instance.add_behaviour(ty);
24    }
25
26    fn remove_behaviour(&self, ty: &BehaviourTypeId) {
27        self.reactive_instance.remove_behaviour(ty);
28    }
29
30    fn behaves_as(&self, ty: &BehaviourTypeId) -> bool {
31        self.reactive_instance.behaves_as(ty)
32    }
33}