34 lines
868 B
Rust
34 lines
868 B
Rust
|
use bevy::{
|
||
|
prelude::*,
|
||
|
render::texture::{AddressMode, FilterMode},
|
||
|
};
|
||
|
|
||
|
use crate::AppState;
|
||
|
|
||
|
pub struct LoadedAssets {
|
||
|
pub floor: Handle<Texture>,
|
||
|
}
|
||
|
impl FromWorld for LoadedAssets {
|
||
|
fn from_world(world: &mut World) -> Self {
|
||
|
let server = world.get_resource::<AssetServer>().unwrap();
|
||
|
|
||
|
let floor = server.load("textures/floor.png");
|
||
|
Self { floor }
|
||
|
}
|
||
|
}
|
||
|
|
||
|
pub fn loading(
|
||
|
assets: Res<LoadedAssets>,
|
||
|
mut textures: ResMut<Assets<Texture>>,
|
||
|
mut state: ResMut<State<AppState>>,
|
||
|
) {
|
||
|
if let Some(t) = textures.get_mut(&assets.floor) {
|
||
|
t.sampler.address_mode_u = AddressMode::MirrorRepeat;
|
||
|
t.sampler.address_mode_v = AddressMode::Repeat;
|
||
|
t.sampler.address_mode_w = AddressMode::Repeat;
|
||
|
t.sampler.mipmap_filter = FilterMode::Linear;
|
||
|
|
||
|
state.set(AppState::Game).unwrap();
|
||
|
}
|
||
|
}
|