basic: despawn cards in a set

main
Elijah Voigt 2 years ago
parent a57afcf9e6
commit 5afcb07dce

@ -41,15 +41,24 @@ pub(crate) fn reset_rotation(
t.rotation = Quat::default(); t.rotation = Quat::default();
} }
pub(crate) fn check_set(_trigger: Trigger<Pointer<Click>>, query: Query<&Card, With<Selected>>) { pub(crate) fn check_set(
_trigger: Trigger<Pointer<Click>>,
query: Query<(&Card, Entity), With<Selected>>,
mut commands: Commands,
) {
let mut cards = query.iter(); let mut cards = query.iter();
if cards.len() == 3 { if cards.len() == 3 {
let (a, b, c) = ( let ((a, _), (b, _), (c, _)) = (
cards.next().unwrap(), cards.next().unwrap(),
cards.next().unwrap(), 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 { } else if cards.len() > 3 {
info!("Too many cards!") info!("Too many cards!")
} else if cards.len() < 3 { } else if cards.len() < 3 {

Loading…
Cancel
Save