@@ -323,60 +323,60 @@ fn animate_matches(
323323 let delay_between_matches = Duration :: from_secs_f32 ( BETWEEN_MATCH_DELAY ) ;
324324
325325 let mut delay = start_delay;
326- for event in events
327- . iter ( )
328- . filter ( |x| spell. elements . contains ( & x. element ) )
329- {
330- let material = materials. add ( StandardMaterial {
331- base_color : event. element . color ( ) ,
332- base_color_texture : Some ( asset_server. load ( "particles/star_06.png" ) ) ,
333- double_sided : true ,
334- unlit : true ,
335- alpha_mode : AlphaMode :: Blend ,
336- ..default ( )
337- } ) ;
338-
339- for tile in & event. tiles {
340- let transform = tiles. get ( * tile) . unwrap ( ) ;
341-
342- let transform = transform. compute_transform ( ) * Transform :: from_xyz ( 0.0 , 0.0 , 1.0 ) ;
343- commands
344- . spawn_bundle ( SpatialBundle {
345- transform,
346- ..default ( )
347- } )
348- . insert ( BOARD_LAYER )
349- . insert ( DelayedDespawn :: from_seconds ( 0.7 ) )
350- . insert ( Animator :: new ( Delay :: new ( delay) . then ( Tween :: new (
351- EaseFunction :: QuadraticInOut ,
352- TweeningType :: Once ,
353- Duration :: from_secs_f32 ( 0.5 ) ,
354- TransformPositionLens {
355- start : transform. translation ,
356- end : Vec3 :: new ( 0.0 , -2.5 , 1.0 ) ,
357- } ,
358- ) ) ) )
359- . with_children ( |c| {
360- c. spawn_bundle ( SpatialBundle :: default ( ) )
361- . insert ( ParticleEmitter {
362- material : material. clone ( ) ,
363- timer : Timer :: from_seconds ( 1.0 / 200.0 , true ) ,
364- size_range : 0.2 ..0.3 ,
365- velocity_range : -0.01 ..0.01 ,
366- lifetime_range : 0.5 ..1.0 ,
367- particles_track : true ,
368- } ) ;
326+ for event in events. iter ( ) {
327+ if spell. elements . contains ( & event. element ) {
328+ let material = materials. add ( StandardMaterial {
329+ base_color : event. element . color ( ) ,
330+ base_color_texture : Some ( asset_server. load ( "particles/star_06.png" ) ) ,
331+ double_sided : true ,
332+ unlit : true ,
333+ alpha_mode : AlphaMode :: Blend ,
334+ ..default ( )
335+ } ) ;
369336
370- c. spawn_bundle ( SpatialBundle :: default ( ) )
371- . insert ( ParticleEmitter {
372- material : material. clone ( ) ,
373- timer : Timer :: from_seconds ( 1.0 / 100.0 , true ) ,
374- size_range : 0.2 ..0.3 ,
375- velocity_range : -0.01 ..0.01 ,
376- lifetime_range : 0.2 ..0.5 ,
377- particles_track : false ,
378- } ) ;
379- } ) ;
337+ for tile in & event. tiles {
338+ let transform = tiles. get ( * tile) . unwrap ( ) ;
339+
340+ let transform =
341+ transform. compute_transform ( ) * Transform :: from_xyz ( 0.0 , 0.0 , 1.0 ) ;
342+ commands
343+ . spawn_bundle ( SpatialBundle {
344+ transform,
345+ ..default ( )
346+ } )
347+ . insert ( BOARD_LAYER )
348+ . insert ( DelayedDespawn :: new ( delay + Duration :: from_secs_f32 ( 0.7 ) ) )
349+ . insert ( Animator :: new ( Delay :: new ( delay) . then ( Tween :: new (
350+ EaseFunction :: QuadraticInOut ,
351+ TweeningType :: Once ,
352+ Duration :: from_secs_f32 ( 0.5 ) ,
353+ TransformPositionLens {
354+ start : transform. translation ,
355+ end : Vec3 :: new ( 0.0 , -2.5 , 1.0 ) ,
356+ } ,
357+ ) ) ) )
358+ . with_children ( |c| {
359+ c. spawn_bundle ( SpatialBundle :: default ( ) )
360+ . insert ( ParticleEmitter {
361+ material : material. clone ( ) ,
362+ timer : Timer :: from_seconds ( 1.0 / 200.0 , true ) ,
363+ size_range : 0.2 ..0.3 ,
364+ velocity_range : -0.01 ..0.01 ,
365+ lifetime_range : 0.5 ..1.0 ,
366+ particles_track : true ,
367+ } ) ;
368+
369+ c. spawn_bundle ( SpatialBundle :: default ( ) )
370+ . insert ( ParticleEmitter {
371+ material : material. clone ( ) ,
372+ timer : Timer :: from_seconds ( 1.0 / 100.0 , true ) ,
373+ size_range : 0.2 ..0.3 ,
374+ velocity_range : -0.01 ..0.01 ,
375+ lifetime_range : 0.2 ..0.5 ,
376+ particles_track : false ,
377+ } ) ;
378+ } ) ;
379+ }
380380
381381 delay += delay_between_matches;
382382 }
0 commit comments