bevy_play_card 0.2.3

A card crate for the Bevy game engine
use interpolate::*;

use crate::{plugin_for_implementors_of_trait, prelude::*};

plugin_for_implementors_of_trait!(SendableGenericPlugins, Sendable);

pub struct GenericPlugins;

impl Plugin for GenericPlugins {
    fn build(&self, app: &mut App) {
        app.add_plugins((
            SendableGenericPlugins::<Translation>::default(),
            SendableGenericPlugins::<Scale>::default(),
            SendableGenericPlugins::<Rotation>::default(),
        ));
    }
}

impl<T: Sendable> Plugin for SendableGenericPlugins<T> {
    fn build(&self, app: &mut App) {
        app.add_plugins((
            TweenDestroyerPlugin::<T>::default(),
            AnimationParentDestroyerGenericPlugin::<T>::default(),
        ));
    }
}