use bevy::asset::LoadState; use bevy::prelude::*; use iyes_loopless::prelude::NextState; use crate::assets::AssetTypeLoader; use crate::system::flow::AppState; pub fn start_preload_resources(mut commands: Commands) { // TODO: Add preload commands here commands.insert_resource(NextState(AppState::Setup)) } pub fn start_load_resources(mut loader: AssetTypeLoader) { loader.load_images(&[("jamsplash.png", "splash")]); loader.load_audio(&[("splash_sting.mp3", "splash_sting")]); } pub fn check_load_resources(mut commands: Commands, loader: AssetTypeLoader) { let load_states = loader.get_all_load_state(); if load_states.iter().all(|state| *state == LoadState::Loaded) { log::info!("Assets loaded successfully"); commands.insert_resource(NextState(AppState::Splash)) } }