1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
//! Object spawning and drafting functionalities.

use bevy::{app::PluginGroupBuilder, prelude::*};
use counter::CounterPlugin;
pub use counter::ObjectCounter;
pub use despawner::{
    DespawnActiveLocalEvent, DespawnEventsPlugin, DespawnedComponentsEvent, DespawnerSet,
};
use draft::DraftPlugin;
pub use draft::{DraftAllowed, DraftBundle};
use gameend::GameEndPlugin;
use spawner::SpawnerPlugin;
pub use spawner::{SpawnInactiveEvent, SpawnLocalActiveEvent, SpawnerSet};

use crate::despawner::DespawnerPlugin;

mod counter;
mod despawner;
mod draft;
mod gameend;
mod spawner;

pub struct SpawnerPluginGroup;

impl PluginGroup for SpawnerPluginGroup {
    fn build(self) -> PluginGroupBuilder {
        PluginGroupBuilder::start::<Self>()
            .add(CounterPlugin)
            .add(SpawnerPlugin)
            .add(DraftPlugin)
            .add(GameEndPlugin)
            .add(DespawnerPlugin)
    }
}