bevy_scroller 0.3.0

Scroller plugin for Bevy
Documentation
use bevy::prelude::*;

use crate::{pre_generator, ScrollerGenerator, SpawnerInput};

pub trait ScrollerApp {
  fn add_scroller_generator<
    T: ScrollerGenerator + Component + Clone,
    M,
    S: IntoSystem<SpawnerInput<T>, (), M>,
  >(
    &mut self,
    system: S,
  ) -> &mut Self;
}

impl ScrollerApp for App {
  fn add_scroller_generator<
    T: ScrollerGenerator + Component + Clone,
    M,
    S: IntoSystem<SpawnerInput<T>, (), M>,
  >(
    &mut self,
    system: S,
  ) -> &mut Self {
    self.add_systems(Update, pre_generator::<T>.pipe(system));
    self
  }
}