diff --git a/src/play.rs b/src/play.rs index a2b6d3c..c01a96f 100644 --- a/src/play.rs +++ b/src/play.rs @@ -41,15 +41,24 @@ pub(crate) fn reset_rotation( t.rotation = Quat::default(); } -pub(crate) fn check_set(_trigger: Trigger>, query: Query<&Card, With>) { +pub(crate) fn check_set( + _trigger: Trigger>, + query: Query<(&Card, Entity), With>, + mut commands: Commands, +) { let mut cards = query.iter(); if cards.len() == 3 { - let (a, b, c) = ( + let ((a, _), (b, _), (c, _)) = ( cards.next().unwrap(), cards.next().unwrap(), cards.next().unwrap(), ); - info!("Is set: {}", is_set((a, b, c))); + if is_set((a, b, c)) { + query.iter().for_each(|(_, e)| { + // TODO: Figure out something better to do than despawning! + commands.entity(e).despawn_recursive(); + }); + } } else if cards.len() > 3 { info!("Too many cards!") } else if cards.len() < 3 {