@@ -13,10 +13,10 @@ pub fn setup_coliders_system(mut commands: Commands) {
13
13
commands
14
14
. spawn ( Collider :: cuboid ( 0.5 , 0.5 , 0.5 ) )
15
15
. insert ( TransformBundle :: from ( Transform :: from_xyz (
16
- x as f32 , y as f32 , z as f32 ,
16
+ x as f32 , y as f32 , z as f32 ,
17
17
) ) )
18
18
. insert ( collider_components:: MyCollider { key } ) ;
19
- }
19
+ }
20
20
}
21
21
}
22
22
}
@@ -64,6 +64,8 @@ fn relative_colider_position(key: u32) -> Vec3 {
64
64
65
65
#[ cfg( test) ]
66
66
mod tests {
67
+ use collider_events:: ColliderUpdateEvent ;
68
+
67
69
use super :: * ;
68
70
fn setup_app ( ) -> App {
69
71
let mut app = App :: new ( ) ;
@@ -83,4 +85,27 @@ mod tests {
83
85
84
86
assert_eq ! ( colliders_count, 3 * 3 * 3 ) ;
85
87
}
88
+
89
+ #[ test]
90
+ fn test_handle_collider_update_events_system ( ) {
91
+ let mut app = App :: new ( ) ;
92
+
93
+ app. add_event :: < collider_events:: ColliderUpdateEvent > ( ) ;
94
+ app. add_systems ( Update , handle_collider_update_events_system) ;
95
+
96
+ let collider_id = app
97
+ . world
98
+ . spawn ( ( Transform { translation : Vec3 { x : 0.0 , y : 0.0 , z : 0.0 } , ..Default :: default ( ) } , collider_components:: MyCollider { key : 0 } ) )
99
+ . id ( ) ;
100
+
101
+ app. world . send_event ( ColliderUpdateEvent {
102
+ position : [ 0.0 , 0.0 , 0.0 ] ,
103
+ } ) ;
104
+
105
+ app. update ( ) ;
106
+
107
+ let mut collider_query = app. world . query :: < ( & Transform , & collider_components:: MyCollider ) > ( ) ;
108
+ let ( collider_transform, _) = collider_query. single ( & app. world ) ;
109
+ assert_eq ! ( collider_transform. translation, Vec3 { x: 0.0 , y: 0.0 , z: 0.0 } ) ;
110
+ }
86
111
}
0 commit comments