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