Fix canvas
This commit is contained in:
@@ -7,7 +7,7 @@ use bevy::{
|
||||
render::{
|
||||
render_resource::{encase, AsBindGroup, OwnedBindingResource, ShaderRef, ShaderType},
|
||||
renderer::RenderQueue,
|
||||
Render, RenderApp, RenderSet,
|
||||
Extract, Render, RenderApp, RenderSet,
|
||||
},
|
||||
sprite::{Material2d, Material2dPlugin, MaterialMesh2dBundle, RenderMaterials2d},
|
||||
};
|
||||
@@ -23,7 +23,7 @@ impl Plugin for CanvasPlugin {
|
||||
.add_systems(Startup, spawn_canvas);
|
||||
|
||||
app.sub_app_mut(RenderApp)
|
||||
.add_systems(ExtractSchedule, extract_tile_lights)
|
||||
.add_systems(ExtractSchedule, (extract_tile_lights, extract_canvas))
|
||||
.add_systems(
|
||||
Render,
|
||||
prepare_canvas_material.in_set(RenderSet::PrepareAssets),
|
||||
@@ -82,7 +82,7 @@ fn prepare_canvas_material(
|
||||
let mut buffer = encase::UniformBuffer::new(Vec::new());
|
||||
buffer
|
||||
.write(&CanvasMaterialUniform {
|
||||
ambient_color: Color::RED,
|
||||
ambient_color: CANVAS_COLOR,
|
||||
tile_lights: tile_lights_uniform.clone(),
|
||||
number_of_lights: tile_lights.len() as _,
|
||||
})
|
||||
@@ -93,6 +93,15 @@ fn prepare_canvas_material(
|
||||
}
|
||||
}
|
||||
|
||||
fn extract_canvas(
|
||||
mut commands: Commands,
|
||||
canvas_query: Extract<Query<(Entity, &Handle<CanvasMaterial>)>>,
|
||||
) {
|
||||
for (entity, handle) in canvas_query.iter() {
|
||||
commands.get_or_spawn(entity).insert(handle.clone());
|
||||
}
|
||||
}
|
||||
|
||||
fn spawn_canvas(
|
||||
mut commands: Commands,
|
||||
mut mesh_assets: ResMut<Assets<Mesh>>,
|
||||
|
||||
Reference in New Issue
Block a user