mod configs; mod loader; mod resources; mod startup; mod _plugin { use crate::assets::startup::{ check_load_resources, start_load_resources, start_preload_resources, }; use crate::system::{run_in_setup, AppState}; use bevy::prelude::*; pub struct AssetLoadingPlugin; impl Plugin for AssetLoadingPlugin { fn build(&self, app: &mut App) { app.init_resource::<super::resources::AssetHandles>() .add_systems( OnEnter(AppState::Preload), (start_preload_resources, start_load_resources), ) .add_systems(Update, check_load_resources.run_if(run_in_setup)); } } } pub use _plugin::AssetLoadingPlugin; pub use configs::{ConfigsPlugin, FetchPhysicsConfig, PhysicsConfig}; pub(self) use loader::AssetTypeLoader; pub use resources::AssetHandles; pub(self) use resources::{AssetNameMapping, FixedAssetNameMapping, SpriteSheetConfig};