Skip to content
Snippets Groups Projects
mod.rs 756 B
Newer Older
Louis's avatar
Louis committed
mod loader;
mod resources;
mod startup;

use bevy::app::{App, Plugin};
Louis's avatar
Louis committed
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(),
			);
	}
}