Crate bevy_app

source ·
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. This is run by the Main schedule.
  • The schedule that contains systems which only run after a fixed period of time has elapsed.
  • Runs last in the schedule. This is run by the Main 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.
  • Initializes the Main schedule, sub schedules, and resources for a given App.
  • Facilitates the creation and configuration of a PluginGroup. Provides a build ordering to ensure that Plugins which produce/require a Resource are built before/after dependent/depending Plugins. Plugins inside the group can be disabled, enabled or reordered.
  • The schedule that runs once after Startup. This is run by the Main schedule.
  • 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”.
  • The schedule that runs before Startup. This is run by the Main schedule.
  • 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”.
  • Runs the FixedUpdate schedule in a loop according until all relevant elapsed time has been “consumed”. This is run by the Main schedule.
  • Configures an App to run its Schedule according to a given RunMode.
  • The schedule that contains scene spawning. This is run by the Main schedule.
  • The schedule that runs once when the app starts. This is run by the Main schedule.
  • Runs state transitions. This is run by the Main schedule.
  • A SubApp contains its own Schedule and World separate from the main App. This is useful for situations where data and data processing should be kept completely separate from the main application. The primary use of this feature in bevy is to enable pipelined rendering.
  • The schedule that contains app logic. This is run by the Main schedule.

Enums

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 implements Eq.
  • A collection of Bevy app logic and configuration.
  • Combines multiple Plugins into a single unit.
  • Types that represent a set of Plugins.

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.