Expand description
This crate is about everything concerning the highest-level, application layer of a Bevy app.
Modules§
Structs§
App
is the primary API for writing user applications. It automates the setup of a standard lifecycle and provides interface glue for plugins.- 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. - 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: - 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.
- A secondary application with its own
World
. These can run independently of each other. - The collection of sub-apps that belong to an
App
. - 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§
- Create
Plugin Deprecated A type representing an unsafe function that returns a mutable pointer to aPlugin
. 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.