mod loader; mod resources; mod startup; use bevy::app::{App, Plugin}; use iyes_loopless::condition::ConditionSet; use iyes_loopless::prelude::AppLooplessStateExt; pub use loader::AssetTypeLoader; pub use resources::{AssetHandles, AssetNameMapping, FixedAssetNameMapping, SpriteSheetConfig}; use crate::system::flow::AppState; pub struct AssetsPlugin; impl Plugin for AssetsPlugin { fn build(&self, app: &mut App) { app.init_resource::<AssetHandles>() .add_enter_system(AppState::Preload, startup::start_preload_resources) .add_enter_system(AppState::Preload, startup::start_load_resources) .add_system_set( ConditionSet::new() .run_in_state(AppState::Setup) .with_system(startup::check_load_resources) .into(), ); } }