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}