Remove QueuedText (#7414)
## Objective Remove `QueuedText`. `QueuedText` isn't useful. It's exposed in the `bevy_ui` public interface but can't be used for anything because its `entities` field is private. ## Solution Remove the `QueuedText` struct and use a `Local<Vec<Entity>` in its place. ## Changelog * Removed `QueuedText`
This commit is contained in:
parent
5d514fb24f
commit
a441939ba5
@ -14,11 +14,6 @@ use bevy_text::{
|
||||
};
|
||||
use bevy_window::{PrimaryWindow, Window};
|
||||
|
||||
#[derive(Debug, Default)]
|
||||
pub struct QueuedText {
|
||||
entities: Vec<Entity>,
|
||||
}
|
||||
|
||||
fn scale_value(value: f32, factor: f64) -> f32 {
|
||||
(value as f64 * factor) as f32
|
||||
}
|
||||
@ -47,7 +42,7 @@ pub fn text_constraint(min_size: Val, size: Val, max_size: Val, scale_factor: f6
|
||||
#[allow(clippy::too_many_arguments)]
|
||||
pub fn text_system(
|
||||
mut commands: Commands,
|
||||
mut queued_text: Local<QueuedText>,
|
||||
mut queued_text_ids: Local<Vec<Entity>>,
|
||||
mut last_scale_factor: Local<f64>,
|
||||
mut textures: ResMut<Assets<Image>>,
|
||||
fonts: Res<Assets<Font>>,
|
||||
@ -81,24 +76,24 @@ pub fn text_system(
|
||||
if *last_scale_factor == scale_factor {
|
||||
// Adds all entities where the text or the style has changed to the local queue
|
||||
for entity in text_queries.p0().iter() {
|
||||
queued_text.entities.push(entity);
|
||||
queued_text_ids.push(entity);
|
||||
}
|
||||
} else {
|
||||
// If the scale factor has changed, queue all text
|
||||
for entity in text_queries.p1().iter() {
|
||||
queued_text.entities.push(entity);
|
||||
queued_text_ids.push(entity);
|
||||
}
|
||||
*last_scale_factor = scale_factor;
|
||||
}
|
||||
|
||||
if queued_text.entities.is_empty() {
|
||||
if queued_text_ids.is_empty() {
|
||||
return;
|
||||
}
|
||||
|
||||
// Computes all text in the local queue
|
||||
let mut new_queue = Vec::new();
|
||||
let mut query = text_queries.p2();
|
||||
for entity in queued_text.entities.drain(..) {
|
||||
for entity in queued_text_ids.drain(..) {
|
||||
if let Ok((text, style, mut calculated_size, text_layout_info)) = query.get_mut(entity) {
|
||||
let node_size = Vec2::new(
|
||||
text_constraint(
|
||||
@ -153,5 +148,5 @@ pub fn text_system(
|
||||
}
|
||||
}
|
||||
|
||||
queued_text.entities = new_queue;
|
||||
*queued_text_ids = new_queue;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user