use bevy::prelude::*;
use crate::IssunSet;
use super::components::{DiscoveredMods, LoadedModScenes, ModdingConfig};
use super::systems::{apply_mod_scenes, discover_mods, load_mod_scenes};
pub struct ModdingPlugin;
impl Plugin for ModdingPlugin {
fn build(&self, app: &mut App) {
app
.register_type::<ModdingConfig>()
.register_type::<DiscoveredMods>()
.register_type::<LoadedModScenes>()
.init_resource::<ModdingConfig>()
.init_resource::<DiscoveredMods>()
.init_resource::<LoadedModScenes>()
.add_systems(Startup, discover_mods)
.add_systems(
Update,
(load_mod_scenes, apply_mod_scenes)
.chain()
.in_set(IssunSet::Logic),
);
}
}