|
|
|
|
@ -53,26 +53,33 @@ fn exit_loading(mut cameras: Query<&mut Camera, With<Loading>>) {
|
|
|
|
|
|
|
|
|
|
fn loading(
|
|
|
|
|
server: Res<AssetServer>,
|
|
|
|
|
sprites: Res<Assets<Image>>,
|
|
|
|
|
images: Res<Assets<Image>>,
|
|
|
|
|
gltfs: Res<Assets<Gltf>>,
|
|
|
|
|
tweaks: Res<Assets<tweak::Tweaks>>,
|
|
|
|
|
fonts: Res<Assets<Font>>,
|
|
|
|
|
mut next_state: ResMut<NextState<GameState>>,
|
|
|
|
|
time: Res<Time>,
|
|
|
|
|
) {
|
|
|
|
|
let s = (!sprites.is_empty())
|
|
|
|
|
&& sprites
|
|
|
|
|
let s = (!images.is_empty())
|
|
|
|
|
&& images
|
|
|
|
|
.ids()
|
|
|
|
|
.all(|id| server.is_loaded_with_dependencies(id));
|
|
|
|
|
.filter(|id| matches!(id, AssetId::Uuid { .. }))
|
|
|
|
|
.filter(|id| server.get_path(*id).is_some())
|
|
|
|
|
.all(|id| {
|
|
|
|
|
server.is_loaded_with_dependencies(id)
|
|
|
|
|
});
|
|
|
|
|
let g = (!gltfs.is_empty()) && gltfs.ids().all(|id| server.is_loaded_with_dependencies(id));
|
|
|
|
|
let t = (!tweaks.is_empty())
|
|
|
|
|
&& tweaks
|
|
|
|
|
.ids()
|
|
|
|
|
.all(|id| server.is_loaded_with_dependencies(id));
|
|
|
|
|
let f = (!fonts.is_empty()) && fonts.ids().all(|id| server.is_loaded_with_dependencies(id));
|
|
|
|
|
|
|
|
|
|
info!("Loading :: images: {} :: gltfs: {} :: tweaks: {} :: fonts: {}", s, g, t, f);
|
|
|
|
|
let f = !fonts.is_empty() &&
|
|
|
|
|
fonts.ids()
|
|
|
|
|
.filter(|id| server.get_path(*id).is_some())
|
|
|
|
|
.all(|id| server.is_loaded_with_dependencies(id));
|
|
|
|
|
|
|
|
|
|
if s && g && t && f {
|
|
|
|
|
info!("Loading complete after {:?} seconds", time.elapsed_seconds());
|
|
|
|
|
info!("Starting game intro");
|
|
|
|
|
next_state.set(GameState::Intro)
|
|
|
|
|
}
|
|
|
|
|
|