|
|
|
|
@ -20,25 +20,27 @@ impl Plugin for SetupPlugin {
|
|
|
|
|
|
|
|
|
|
/// Setup drawing our cards on the screen
|
|
|
|
|
pub(crate) fn setup_cards(mut commands: Commands, deck: Res<Deck>) {
|
|
|
|
|
Deck::iter_cards().enumerate().for_each(|(i, this_card)| {
|
|
|
|
|
let this = deck
|
|
|
|
|
.cards
|
|
|
|
|
.get(&this_card)
|
|
|
|
|
.unwrap_or_else(|| panic!("fech card sprite {:?}", this_card))
|
|
|
|
|
.clone();
|
|
|
|
|
let this_sprite = Sprite {
|
|
|
|
|
custom_size: Some(Vec2::new(80.0, 128.0)),
|
|
|
|
|
..this
|
|
|
|
|
};
|
|
|
|
|
let order = play::DeckOrder(i as u8);
|
|
|
|
|
commands
|
|
|
|
|
.spawn((this_sprite, this_card, order, Visibility::Hidden))
|
|
|
|
|
.observe(play::place_card)
|
|
|
|
|
.observe(debug::set_debug_card)
|
|
|
|
|
.observe(debug::hide_debug_card)
|
|
|
|
|
.observe(play::reset_rotation)
|
|
|
|
|
.observe(play::toggle_selected);
|
|
|
|
|
});
|
|
|
|
|
Deck::iter_shuffled()
|
|
|
|
|
.enumerate()
|
|
|
|
|
.for_each(|(i, this_card)| {
|
|
|
|
|
let this = deck
|
|
|
|
|
.cards
|
|
|
|
|
.get(&this_card)
|
|
|
|
|
.unwrap_or_else(|| panic!("fech card sprite {:?}", this_card))
|
|
|
|
|
.clone();
|
|
|
|
|
let this_sprite = Sprite {
|
|
|
|
|
custom_size: Some(Vec2::new(80.0, 128.0)),
|
|
|
|
|
..this
|
|
|
|
|
};
|
|
|
|
|
let order = play::DeckOrder(i as u8);
|
|
|
|
|
commands
|
|
|
|
|
.spawn((this_sprite, this_card, order, Visibility::Hidden))
|
|
|
|
|
.observe(play::place_card)
|
|
|
|
|
.observe(debug::set_debug_card)
|
|
|
|
|
.observe(debug::hide_debug_card)
|
|
|
|
|
.observe(play::reset_rotation)
|
|
|
|
|
.observe(play::toggle_selected);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Setup our camera to view cardson the screen
|
|
|
|
|
|