Skip to main content

starbloom_map/
lib.rs

1use bevy_ecs::prelude::*;
2use egor::render::*;
3
4use starbloom_base::prelude::*;
5use starbloom_camera::*;
6use starbloom_tiles::*;
7
8mod chunk;
9mod chunkloader;
10
11pub use crate::chunk::*;
12use crate::chunkloader::*;
13
14pub struct MapPlugin();
15
16impl Plugin for MapPlugin {
17    fn create(world: &mut World, schedule: &mut Schedule) {
18        ChunkloaderPlugin::create(world, schedule);
19	schedule.add_systems(render_chunks);
20        world.insert_resource(TileRegestry::new());
21    }
22}
23
24pub fn render_chunks(query: Query<&Chunk>, tile_regestry: Res<TileRegestry>, main_camera: Res<MainCamera>, mut gfx: NonSendMut<GfxCmds>) {
25    for chunk in &query {
26        chunk.render(&mut gfx, &main_camera, &tile_regestry);
27    }
28}