Crate bevy_spawn_fn

source ·
Expand description

§bevy_spawn_fn

Awesome spawning experience for bevy.

§Getting Started

Annotate your system with #[spawner_system], then use the spawn! macro.

#[spawner_system]
pub fn particle_emitter(emitter: Res<ParticleEmitter>) {
    if emitter.should_spawn() {
        spawn! {
            ParticleBundle {
                color: Color::Green,
                size: 10.0,
                texture: @load "images/my_image.png"
            }
        }
    }
}

If the function not a system, use the #[spawner_fn] macro, which takes less liberty in rewriting the function.

§The spawn! macro

spawn! spawns a IntoSpawnable and return an Entity.

The macro uses the infer_construct! macro from the default_constructor crate under the hood, which uses the InferInto trait for conversion.

Additionally effect @load can be used to load Handle<T> from a string path and @asset can be used to convert impl Into<T> to Handle<T> via AssetServer.

§The Spawnable Trait

Spawnable is a superset of Bundle that can be implemented to spawn heterogenous bundles and children.

IntoSpawnable is free ergonomics on top of Spawnable!

§Versions

bevybevy_spawn_fn
0.13latest

§License

License under either of

Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0) MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT) at your option.

§Contribution

Contributions are welcome!

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Macros§

Enums§

Traits§

Functions§

Attribute Macros§