From 5afcb07dcecb1e6bc6101a7eedadaa6c34a84cf2 Mon Sep 17 00:00:00 2001 From: Elijah Voigt Date: Sat, 7 Dec 2024 22:19:14 -0800 Subject: [PATCH] basic: despawn cards in a set --- src/play.rs | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) 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 {