reactive_graph_behaviour_model_impl/behaviour/entity/
container.rs1use 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}