Expand description
This crate is about everything concerning the highest-level, application layer of a Bevy app.
Modules
Structs
- A container of app logic and data.
- An event that indicates the
App
should exit. This will fully exit the app process at the start of the next tick of the schedule. - Runs first in the schedule.
- Runs first in the
FixedMain
schedule. - The schedule that runs last in
FixedMain
- The schedule that contains systems which only run after a fixed period of time has elapsed.
- Defines the schedules to be run for the
FixedMain
schedule, including their order. - The schedule that runs after the
FixedUpdate
schedule, for reacting to changes made in the main update logic. - The schedule that contains logic that must run before
FixedUpdate
. - The schedule that contains most gameplay logic.
- Runs last in the schedule.
- The schedule that contains the app logic that is evaluated each tick of
App::update()
. - Defines the schedules to be run for the
Main
schedule, including their order. - Facilitates the creation and configuration of a
PluginGroup
. Provides a build ordering to ensure thatPlugin
s which produce/require aResource
are built before/after dependent/dependingPlugin
s.Plugin
s inside the group can be disabled, enabled or reordered. - The schedule that runs once after
Startup
. - The schedule that contains logic that must run after
Update
. For example, synchronizing “local transforms” in a hierarchy to “global” absolute transforms. This enables thePostUpdate
transform-sync system to react to “local transform” changes inUpdate
without theUpdate
systems needing to know about (or add scheduler dependencies for) the “global transform sync system”. - The schedule that runs before
Startup
. - The schedule that contains logic that must run before
Update
. For example, a system that reads raw keyboard input OS events into anEvents
resource. This enables systems inUpdate
to consume the events from theEvents
resource without actually knowing about (or taking a direct scheduler dependency on) the “os-level keyboard event system”. - Runs the
FixedMain
schedule in a loop according until all relevant elapsed time has been “consumed”. - The schedule that contains scene spawning.
- The schedule that runs once when the app starts.
- Runs state transitions.
- The schedule that contains app logic. Ideally containing anything that must run once per render frame, such as UI.
Enums
- Plugins state in the application
Traits
- A strongly-typed class of labels used to identify an
App
. - An object safe version of
Eq
. This trait is automatically implemented for any'static
type that implementsEq
. - A collection of Bevy app logic and configuration.
- Combines multiple
Plugin
s into a single unit. - Types that represent a set of
Plugin
s.
Type Aliases
- A type representing an unsafe function that returns a mutable pointer to a
Plugin
. It is used for dynamically loading plugins. - A shorthand for
Interned<dyn AppLabel>
.
Derive Macros
- Generates an impl of the
AppLabel
trait. - Generates a dynamic plugin entry point function for the given
Plugin
type.