#![cfg(feature = "bevy_auto_plugin")]
use crate::{ResetComponentPlugin, ResetResourcePlugin, StatContainer};
use bevy_app::App;
use bevy_auto_plugin::prelude::AutoPluginBuildHook;
use bevy_ecs::component::Mutable;
use bevy_ecs::prelude::{Component, Resource};
pub struct ResetComponentHook;
impl<T: Component<Mutability = Mutable> + StatContainer + 'static> AutoPluginBuildHook<T>
for ResetComponentHook
{
fn on_build(&self, app: &mut App) {
app.add_plugins(ResetComponentPlugin::<T>::new());
}
}
pub struct ResetResourceHook;
impl<T: Resource + StatContainer + 'static> AutoPluginBuildHook<T> for ResetResourceHook {
fn on_build(&self, app: &mut App) {
app.add_plugins(ResetResourcePlugin::<T>::new());
}
}