Fix gizmos (#15836)

# Objective

- Immediate mode gizmos don't have a main world entity but the phase
items require `MainEntity` since #15756

## Solution

- Add a dummy `MainEntity` component.

## Testing

Both the `3d_gizmos` and `2d_gizmos` examples show gizmos again
This commit is contained in:
Tim 2024-10-10 22:04:04 +00:00 committed by GitHub
parent da211ee314
commit 5def6f2a58
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -93,6 +93,7 @@ use crate::config::GizmoMeshConfig;
use {
bevy_ecs::{
component::Component,
entity::Entity,
query::ROQueryItem,
system::{
lifetimeless::{Read, SRes},
@ -109,7 +110,7 @@ use {
ShaderStages, ShaderType, VertexFormat,
},
renderer::RenderDevice,
sync_world::TemporaryRenderEntity,
sync_world::{MainEntity, TemporaryRenderEntity},
Extract, ExtractSchedule, Render, RenderApp, RenderSet,
},
bytemuck::cast_slice,
@ -467,6 +468,9 @@ fn extract_gizmo_data(
render_layers: config.render_layers.clone(),
handle: handle.clone(),
},
// The immediate mode API does not have a main world entity to refer to,
// but we do need MainEntity on this render entity for the systems to find it.
MainEntity::from(Entity::PLACEHOLDER),
TemporaryRenderEntity,
));
}