
# Objective - Fixes #14873, see that issue for a whole lot of context ## Solution - Add a blessed system set for this stuff. See [this Discord discussion](https://discord.com/channels/691052431525675048/749335865876021248/1276262931327094908). Note that the gizmo systems, [LWIM](https://github.com/Leafwing-Studios/leafwing-input-manager/pull/522/files#diff-9b59ee4899ad0a5d008889ea89a124a7291316532e42f9f3d6ae842b906fb095R154) and now a new plugin I'm working on are all already ordering against `run_fixed_main_schedule`, so having a dedicated system set should be more robust and hopefully also more discoverable. --- ## ~~Showcase~~ ~~I can add a little video of a smooth camera later if this gets merged :)~~ Apparently a release note is not needed, so I'll leave it out. See the changes in the fixed timestep example for usage showcase and the video in #14873 for a more or less accurate video of the effect (it does not use the same solution though, so it is not quite the same) ## Migration Guide [run_fixed_main_schedule](https://docs.rs/bevy/latest/bevy/time/fn.run_fixed_main_schedule.html) is no longer public. If you used to order against it, use the new dedicated `RunFixedMainLoopSystem` system set instead. You can replace your usage of `run_fixed_main_schedule` one for one by `RunFixedMainLoopSystem::FixedMainLoop`, but it is now more idiomatic to place your systems in either `RunFixedMainLoopSystem::BeforeFixedMainLoop` or `RunFixedMainLoopSystem::AfterFixedMainLoop` Old: ```rust app.add_systems( RunFixedMainLoop, some_system.before(run_fixed_main_schedule) ); ``` New: ```rust app.add_systems( RunFixedMainLoop, some_system.in_set(RunFixedMainLoopSystem::BeforeFixedMainLoop) ); ``` --------- Co-authored-by: Tau Gärtli <git@tau.garden>
44 lines
1.1 KiB
Rust
44 lines
1.1 KiB
Rust
#![cfg_attr(docsrs, feature(doc_auto_cfg))]
|
|
#![forbid(unsafe_code)]
|
|
#![doc(
|
|
html_logo_url = "https://bevyengine.org/assets/icon.png",
|
|
html_favicon_url = "https://bevyengine.org/assets/icon.png"
|
|
)]
|
|
|
|
//! This crate is about everything concerning the highest-level, application layer of a Bevy app.
|
|
|
|
mod app;
|
|
mod main_schedule;
|
|
mod panic_handler;
|
|
mod plugin;
|
|
mod plugin_group;
|
|
mod schedule_runner;
|
|
mod sub_app;
|
|
#[cfg(not(target_arch = "wasm32"))]
|
|
mod terminal_ctrl_c_handler;
|
|
|
|
pub use app::*;
|
|
pub use main_schedule::*;
|
|
pub use panic_handler::*;
|
|
pub use plugin::*;
|
|
pub use plugin_group::*;
|
|
pub use schedule_runner::*;
|
|
pub use sub_app::*;
|
|
#[cfg(not(target_arch = "wasm32"))]
|
|
pub use terminal_ctrl_c_handler::*;
|
|
|
|
#[allow(missing_docs)]
|
|
pub mod prelude {
|
|
#[doc(hidden)]
|
|
pub use crate::{
|
|
app::{App, AppExit},
|
|
main_schedule::{
|
|
First, FixedFirst, FixedLast, FixedPostUpdate, FixedPreUpdate, FixedUpdate, Last, Main,
|
|
PostStartup, PostUpdate, PreStartup, PreUpdate, RunFixedMainLoop,
|
|
RunFixedMainLoopSystem, SpawnScene, Startup, Update,
|
|
},
|
|
sub_app::SubApp,
|
|
Plugin, PluginGroup,
|
|
};
|
|
}
|