Skip to content
Snippets Groups Projects
mod.rs 861 B
Newer Older
mod configs;
Louis's avatar
Louis committed
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};
Louis's avatar
Louis committed
pub(self) use loader::AssetTypeLoader;
pub use resources::AssetHandles;
pub(self) use resources::{AssetNameMapping, FixedAssetNameMapping, SpriteSheetConfig};