Selected component w/ rotation for debugging

main
Elijah Voigt 2 years ago
parent 0e492ea7df
commit 76456bd7eb

@ -10,9 +10,25 @@ impl Plugin for PlayPlugin {
} }
} }
fn rotate_cards(mut query: Query<&mut Transform, With<Card>>, time: Res<Time>) { #[derive(Component)]
pub(crate) struct Selected;
fn rotate_cards(mut query: Query<&mut Transform, (With<Card>, With<Selected>)>, time: Res<Time>) {
let dt = time.delta().as_secs_f32(); let dt = time.delta().as_secs_f32();
query.iter_mut().for_each(|mut t| { query.iter_mut().for_each(|mut t| {
t.rotate_z(dt * 0.5); t.rotate_z(dt * 0.5);
}); });
} }
pub(crate) fn toggle_selected(
trigger: Trigger<Pointer<Click>>,
mut commands: Commands,
query: Query<&Selected>,
) {
let e = trigger.entity();
if query.contains(e) {
commands.entity(e).remove::<Selected>();
} else {
commands.entity(e).insert(Selected);
}
}

@ -1,5 +1,5 @@
use crate::{deck::*, *}; use crate::{deck::*, *};
use bevy::{prelude::*, sprite::AlphaMode2d}; use bevy::prelude::*;
pub struct SetupPlugin; pub struct SetupPlugin;
@ -36,7 +36,8 @@ pub(crate) fn setup_cards(mut commands: Commands, deck: Res<Deck>) {
commands commands
.spawn((new_this, this_card, t)) .spawn((new_this, this_card, t))
.observe(debug::set_debug_card) .observe(debug::set_debug_card)
.observe(debug::hide_debug_card); .observe(debug::hide_debug_card)
.observe(play::toggle_selected);
}); });
} }

Loading…
Cancel
Save