use bevy::{ prelude::*, render::{ render_resource::{AddressMode, FilterMode, SamplerDescriptor}, texture::ImageSampler, }, }; use crate::AppState; pub struct LoadedAssets { pub floor: Handle, } impl FromWorld for LoadedAssets { fn from_world(world: &mut World) -> Self { let server = world.get_resource::().unwrap(); let floor = server.load("textures/floor.png"); Self { floor } } } pub fn loading( assets: Res, mut textures: ResMut>, mut state: ResMut>, ) { if let Some(t) = textures.get_mut(&assets.floor) { let s = SamplerDescriptor { address_mode_u: AddressMode::MirrorRepeat, address_mode_v: AddressMode::Repeat, address_mode_w: AddressMode::Repeat, mipmap_filter: FilterMode::Linear, ..default() }; t.sampler_descriptor = ImageSampler::Descriptor(s); state.set(AppState::Game).unwrap(); } }