pub fn with<S>(mut self, system: S, name: &str, dependencies: &[&str]) -> Self
    where
        for<'c> S: System<'c> + Send + 'a,
    {
        self.disp_builder.add(system, name, dependencies);
        self
    }
/// Adds a given system.
///
/// __Note:__ all dependencies must be added before you add the system.
///
/// # Parameters
///
/// - `system`: The system that is to be added to the game loop.
/// - `name`: A unique string to identify the system by. This is used for
///         dependency tracking. This name may be empty `""` string in which
///         case it cannot be referenced as a dependency.
/// - `dependencies`: A list of named system that _must_ have completed running
///                 before this system is permitted to run.
///                 This may be an empty list if there is no dependencies.
///
/// # Returns
///
/// This function returns GameDataBuilder after it has modified it.
///
/// # Type Parameters
///
/// - `S`: A type that implements the `System` trait.
///
/// # Panics
///
/// If two system are added that share an identical name, this function will panic.
/// Empty names are permitted, and this function will not panic if more then two are added.
///
/// If a dependency is referenced (by name), but has not previously been added this
/// function will panic.
///
/// # Examples
///
/// ~~~no_run
/// use amethyst::prelude::*;
/// use amethyst::ecs::prelude::System;
///
/// struct NopSystem;
/// impl<'a> System<'a> for NopSystem {
///     type SystemData = ();
///     fn run(&mut self, _: Self::SystemData) {}
/// }
///
/// GameDataBuilder::default()
///     // This will add the "foo" system to the game loop, in this case
///     // the "foo" system will not depend on any systems.
///     .with(NopSystem, "foo", &[])
///     // The "bar" system will only run after the "foo" system has completed
///     .with(NopSystem, "bar", &["foo"])
///     // It is legal to register a system with an empty name
///     .with(NopSystem, "", &[]);
/// ~~~
Adds a given system.
Note:__ all dependencies must be added before you add the system.
Adds a given system . Note : __ all dependencies must be added before you add the system .
pub fn with<S>(mut self, system: S, name: &str, dependencies: &[&str]) -> Self
    where
        for<'c> S: System<'c> + Send + 'a,
    {
        self.disp_builder.add(system, name, dependencies);
        self
    }
pub fn with < S > ( mut self , system : S , name : & str , dependencies : & [ & str ] ) -> Self where for < ' c > S : System < ' c > + Send + ' a , { self . disp_builder . add ( system , name , dependencies ) ; self }
Adds a given system.
Adds a given system .
mut self
system
S
name
&str
dependencies
&[&str]
This function returns GameDataBuilder after it has modified it.
This function returns GameDataBuilder after it has modified it .
mut self
system
S
The system that is to be added to the game loop.
The system that is to be added to the game loop .
name
&str
A unique string to identify the system by. This is used for
dependency tracking. This name may be empty `""` string in which
case it cannot be referenced as a dependency.
A unique string to identify the system by . This is used for dependency tracking . This name may be empty ` " " ` string in which case it cannot be referenced as a dependency .
dependencies
&[&str]
A list of named system that _must_ have completed running
before this system is permitted to run.
This may be an empty list if there is no dependencies.
A list of named system that _must_ have completed running before this system is permitted to run . This may be an empty list if there is no dependencies .
S
A type that implements the `System` trait.
A type that implements the ` System ` trait .
panics
If two system are added that share an identical name, this function will panic.
Empty names are permitted, and this function will not panic if more then two are added.

If a dependency is referenced (by name), but has not previously been added this
function will panic.
If two system are added that share an identical name this function will panic . Empty names are permitted and this function will not panic if more then two are added . If a dependency is referenced ( by name ) but has not previously been added this function will panic .
examples
~~~no_run
use amethyst::prelude::*;
use amethyst::ecs::prelude::System.

struct NopSystem;
impl<'a> System<'a> for NopSystem {
type SystemData = ();
fn run(&mut self, _: Self::SystemData) {}
}

:default()
This will add the "foo" system to the game loop, in this case
the "foo" system will not depend on any systems.
.with(NopSystem, "foo", &[])
The "bar" system will only run after the "foo" system has completed
.with(NopSystem, "bar", &["foo"])
It is legal to register a system with an empty name
.with(NopSystem, "", &[]);
~~~
~~~no_run use amethyst :: prelude :: * ; use amethyst :: ecs :: prelude :: System . struct NopSystem ; impl< ' a > System< ' a > for NopSystem { type SystemData = () ; fn run ( &mut self _ : Self :: SystemData ) {} } : default () This will add the " foo " system to the game loop in this case the " foo " system will not depend on any systems . . with ( NopSystem " foo " & [] ) The " bar " system will only run after the " foo " system has completed . with ( NopSystem " bar " & [ " foo " ] ) It is legal to register a system with an empty name . with ( NopSystem " " & [] ) ; ~~~