maplibre/background/
mod.rs

1use crate::{environment::Environment, plugin::Plugin};
2
3pub mod queue_system;
4pub mod render_commands;
5pub mod resource_system;
6
7pub struct BackgroundPlugin;
8
9impl Default for BackgroundPlugin {
10    fn default() -> Self {
11        Self
12    }
13}
14
15impl<E: Environment> Plugin<E> for BackgroundPlugin {
16    fn build(
17        &self,
18        schedule: &mut crate::schedule::Schedule,
19        _kernel: std::rc::Rc<crate::kernel::Kernel<E>>,
20        world: &mut crate::tcs::world::World,
21        _graph: &mut crate::render::graph::RenderGraph,
22    ) {
23        world.resources.insert(
24            crate::render::eventually::Eventually::<
25                crate::background::resource_system::BackgroundRenderPipeline,
26            >::Uninitialized,
27        );
28
29        schedule.add_system_to_stage(
30            crate::render::RenderStageLabel::Queue,
31            queue_system::queue_system,
32        );
33        schedule.add_system_to_stage(
34            crate::render::RenderStageLabel::Prepare,
35            crate::background::resource_system::resource_system,
36        );
37    }
38}