pub trait PipelineBuilder: Sized {
fn add_system_on_layer<AT: AccessType>(
&mut self,
name: &str,
system: System,
dependencies: &[&str],
layer: PipelineLayer,
lock_on_single_thread: bool
) -> Result<(), PipelineBuilderError>;
fn graph(self) -> PipelineGraph;
fn add_system<AT: AccessType>(
&mut self,
name: &str,
system: System,
dependencies: &[&str]
) -> Result<(), PipelineBuilderError> { ... }
fn add_system_on_single_thread<AT: AccessType>(
&mut self,
name: &str,
system: System,
dependencies: &[&str]
) -> Result<(), PipelineBuilderError> { ... }
fn with_system_on_layer<AT: AccessType>(
self,
name: &str,
system: System,
dependencies: &[&str],
layer: PipelineLayer,
lock_on_single_thread: bool
) -> Result<Self, PipelineBuilderError> { ... }
fn with_system<AT: AccessType>(
self,
name: &str,
system: System,
dependencies: &[&str]
) -> Result<Self, PipelineBuilderError> { ... }
fn with_system_on_single_thread<AT: AccessType>(
self,
name: &str,
system: System,
dependencies: &[&str]
) -> Result<Self, PipelineBuilderError> { ... }
fn build<T>(self) -> T
where
T: PipelineEngine + Default,
{ ... }
fn build_with_engine<T>(self, engine: T) -> T
where
T: PipelineEngine,
{ ... }
}