mirror of
https://github.com/bevyengine/bevy
synced 2025-02-16 14:08:32 +00:00
make example font_atlas_debug deterministic with a seeded random (#12519)
# Objective - Make example font_atlas_debug deterministic so that it's easier to check for regression ## Solution - Use a seeded random
This commit is contained in:
parent
fe7069e4cc
commit
4a4d73ef55
1 changed files with 12 additions and 2 deletions
|
@ -2,6 +2,7 @@
|
|||
//! Bevy uses `FontAtlas`'s under the hood to optimize text rendering.
|
||||
|
||||
use bevy::{color::palettes::basic::YELLOW, prelude::*, text::FontAtlasSets};
|
||||
use rand::{rngs::StdRng, Rng, SeedableRng};
|
||||
|
||||
fn main() {
|
||||
App::new()
|
||||
|
@ -30,6 +31,9 @@ impl Default for State {
|
|||
}
|
||||
}
|
||||
|
||||
#[derive(Resource, Deref, DerefMut)]
|
||||
struct SeededRng(StdRng);
|
||||
|
||||
fn atlas_render_system(
|
||||
mut commands: Commands,
|
||||
mut state: ResMut<State>,
|
||||
|
@ -57,10 +61,15 @@ fn atlas_render_system(
|
|||
}
|
||||
}
|
||||
|
||||
fn text_update_system(mut state: ResMut<State>, time: Res<Time>, mut query: Query<&mut Text>) {
|
||||
fn text_update_system(
|
||||
mut state: ResMut<State>,
|
||||
time: Res<Time>,
|
||||
mut query: Query<&mut Text>,
|
||||
mut seeded_rng: ResMut<SeededRng>,
|
||||
) {
|
||||
if state.timer.tick(time.delta()).finished() {
|
||||
for mut text in &mut query {
|
||||
let c = rand::random::<u8>() as char;
|
||||
let c = seeded_rng.gen::<u8>() as char;
|
||||
let string = &mut text.sections[0].value;
|
||||
if !string.contains(c) {
|
||||
string.push(c);
|
||||
|
@ -95,4 +104,5 @@ fn setup(mut commands: Commands, asset_server: Res<AssetServer>, mut state: ResM
|
|||
},
|
||||
));
|
||||
});
|
||||
commands.insert_resource(SeededRng(StdRng::seed_from_u64(19878367467713)));
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue