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
35
36
37
38
39
use bevy::{app::PluginGroupBuilder, prelude::PluginGroup};
use cleanup::CleanupPlugin;
use gamestate::GameStateSetupPlugin;
use iyes_progress::prelude::*;
use schedule::GameSchedulesPlugin;
use state::AppState;
use visibility::VisibilityPlugin;

pub mod assets;
pub mod cleanup;
mod errors;
pub mod events;
pub mod flags;
pub mod frustum;
pub mod fs;
pub mod gamestate;
pub mod gconfig;
pub mod gresult;
pub mod objects;
pub mod player;
pub mod schedule;
pub mod screengeom;
pub mod state;
pub mod transition;
pub mod vecord;
pub mod visibility;

pub struct CorePluginGroup;

impl PluginGroup for CorePluginGroup {
    fn build(self) -> PluginGroupBuilder {
        PluginGroupBuilder::start::<Self>()
            .add(ProgressPlugin::new(AppState::AppLoading).continue_to(AppState::InMenu))
            .add(GameSchedulesPlugin)
            .add(GameStateSetupPlugin)
            .add(VisibilityPlugin)
            .add(CleanupPlugin)
    }
}