beet_flow/actions/
action_types.rs1use bevy::prelude::*;
2use bevy::reflect::GetTypeRegistration;
3
4pub trait GenericActionType:
6 'static + Send + Sync + Default + Clone + FromReflect + GetTypeRegistration
7{
8}
9impl<
10 T: 'static
11 + Send
12 + Sync
13 + Default
14 + Clone
15 + FromReflect
16 + GetTypeRegistration,
17 > GenericActionType for T
18{
19}
20
21
22pub trait GenericActionComponent:
24 Clone + FromReflect + GetTypeRegistration + Component
25{
26}
27impl<T: Clone + FromReflect + GetTypeRegistration + Component>
28 GenericActionComponent for T
29{
30}
31pub trait GenericActionEvent:
33 Clone + FromReflect + GetTypeRegistration + Event
34{
35}
36impl<T: Clone + FromReflect + GetTypeRegistration + Event> GenericActionEvent
37 for T
38{
39}
40pub trait ReflectEvent: Event + FromReflect + GetTypeRegistration {}
41impl<T: Event + FromReflect + GetTypeRegistration> ReflectEvent for T {}
42
43pub trait GenericActionAsset: 'static + Send + Sync + TypePath + Asset {}
45impl<T: 'static + Send + Sync + TypePath + Asset> GenericActionAsset for T {}