Crate bevy_app

Source
Expand description

This crate is about everything concerning the highest-level, application layer of a Bevy app.

Re-exports§

pub use ctrlc;

Modules§

prelude
The app prelude.

Macros§

plugin_group
A macro for generating a well-documented PluginGroup from a list of Plugin paths.

Structs§

Animation
Animation system set. This exists in PostUpdate.
App
App is the primary API for writing user applications. It automates the setup of a standard lifecycle and provides interface glue for plugins.
First
Runs first in the schedule.
FixedFirst
Runs first in the FixedMain schedule.
FixedLast
The schedule that runs last in FixedMain
FixedMain
The schedule that contains systems which only run after a fixed period of time has elapsed.
FixedMainScheduleOrder
Defines the schedules to be run for the FixedMain schedule, including their order.
FixedPostUpdate
The schedule that runs after the FixedUpdate schedule, for reacting to changes made in the main update logic.
FixedPreUpdate
The schedule that contains logic that must run before FixedUpdate.
FixedUpdate
The schedule that contains most gameplay logic, which runs at a fixed rate rather than every render frame. For logic that should run once per render frame, use the Update schedule instead.
Last
Runs last in the schedule.
Main
The schedule that contains the app logic that is evaluated each tick of App::update().
MainScheduleOrder
Defines the schedules to be run for the Main schedule, including their order.
MainSchedulePlugin
Initializes the Main schedule, sub schedules, and resources for a given App.
PanicHandlerPlugin
Adds sensible panic handlers to Apps. This plugin is part of the DefaultPlugins. Adding this plugin will setup a panic hook appropriate to your target platform:
PluginGroupBuilder
Facilitates the creation and configuration of a PluginGroup.
PostStartup
The schedule that runs once after Startup.
PostUpdate
The schedule that contains logic that must run after Update. For example, synchronizing “local transforms” in a hierarchy to “global” absolute transforms. This enables the PostUpdate transform-sync system to react to “local transform” changes in Update without the Update systems needing to know about (or add scheduler dependencies for) the “global transform sync system”.
PreStartup
The schedule that runs before Startup.
PreUpdate
The schedule that contains logic that must run before Update. For example, a system that reads raw keyboard input OS events into an Events resource. This enables systems in Update to consume the events from the Events resource without actually knowing about (or taking a direct scheduler dependency on) the “os-level keyboard event system”.
RunFixedMainLoop
Runs the FixedMain schedule in a loop according until all relevant elapsed time has been “consumed”.
ScheduleRunnerPlugin
Configures an App to run its Schedule according to a given RunMode.
SpawnScene
The schedule that contains scene spawning.
Startup
The schedule that runs once when the app starts.
SubApp
A secondary application with its own World. These can run independently of each other.
SubApps
The collection of sub-apps that belong to an App.
TerminalCtrlCHandlerPluginNon-WebAssembly
Gracefully handles Ctrl+C by emitting a AppExit event. This plugin is part of the DefaultPlugins.
Update
The schedule that contains any app logic that must run once per render frame. For most gameplay logic, consider using FixedUpdate instead.

Enums§

AppExit
An event that indicates the App should exit. If one or more of these are present at the end of an update, the runner will end and (maybe) return control to the caller.
PluginsState
Plugins state in the application
RunFixedMainLoopSystem
Set enum for the systems that want to run inside RunFixedMainLoop, but before or after the fixed update logic. Systems in this set will run exactly once per frame, regardless of the number of fixed updates. They will also run under a variable timestep.
RunMode
Determines the method used to run an App’s Schedule.

Traits§

AppLabel
A strongly-typed class of labels used to identify an App.
DynEq
An object safe version of Eq. This trait is automatically implemented for any 'static type that implements Eq.
Plugin
A collection of Bevy app logic and configuration.
PluginGroup
Combines multiple Plugins into a single unit.
Plugins
Types that represent a set of Plugins.

Type Aliases§

InternedAppLabel
A shorthand for Interned<dyn AppLabel>.

Derive Macros§

AppLabel
Generates an impl of the AppLabel trait.