Trait allowing modular modification of the ECS schedule dependency graph during build, enabling custom system ordering and set relationships.
// Source: https://github.com/bevyengine/bevy | License: Apache-2.0
// Provided via justclaw.it.com; keep this notice with the code.
use alloc::vec::Vec;
use core::{fmt::Debug, ops::Deref};
use bevy_platform::{collections::HashSet, hash::FixedHasher};
use indexmap::IndexSet;
use super::{DiGraph, NodeId, ScheduleBuildError, ScheduleGraph};
use crate::{
schedule::{
graph::{Dag, DagAnalysis, DiGraphToposortError},
SystemKey, SystemSetKey,
},
world::World,
};
/// A pass for modular modification of the dependency graph.
pub trait ScheduleBuildPass: Send + Sync + Debug + 'static {
/// Called when a dependency between sets or systems was explicitly added to the graph.
fn add_dependency(&mut self, from: NodeId, to: NodeId, is_weak: bool, is_deferred: bool);
... (truncated -- full source via MCP)
See the full source, get the GitHub permalink, and search for more like it.
Get a free API key