Expand description
This crate is about everything concerning the highest-level, application layer of a Bevy app.
Modules§
Structs§
Appis 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
FixedMainschedule. - 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
FixedMainschedule, including their order. - The schedule that runs after the
FixedUpdateschedule, 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
Mainschedule, 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 thatPlugins which produce/require aResourceare built before/after dependent/dependingPlugins.Plugins 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 thePostUpdatetransform-sync system to react to “local transform” changes inUpdatewithout theUpdatesystems 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 anEventsresource. This enables systems inUpdateto consume the events from theEventsresource without actually knowing about (or taking a direct scheduler dependency on) the “os-level keyboard event system”. - Runs the
FixedMainschedule 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'statictype that implementsEq. - A collection of Bevy app logic and configuration.
- Combines multiple
Plugins into a single unit. - Types that represent a set of
Plugins.
Type Aliases§
- CreatePluginDeprecatedA 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
AppLabeltrait. - Generates a dynamic plugin entry point function for the given
Plugintype.