Skip to content

WIP opinionated ECS set up for Shipyard

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

old-storyai/shipyard_app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

shipyard_app

shipyard_app aims to provide a standardized "Plugin" interface on top of the shipyard ECS crate.

This allows for codebases to more easily divide up many systems and workloads without having to declare all systems in one big workload builder in the root of an application.

Example from test/tree.rs

use shipyard_app::{AppBuilder, Plugin};
...

/// Registers
#[derive(Default)]
pub struct TreePlugin;

impl Plugin for TreePlugin {
    fn build(&self, app: &mut AppBuilder) {
        app.update_pack::<ChildOf>("update in response to ChildOf changes");
        app.add_system(indexing::tree_indexing);
    }
}

Usage

At the moment, shipyard_app is based off the master branch of https://github.com/leudz/shipyard, so until the updates to WorkloadBuilder are published, you must be on the master branch of shipyard.

The initial interface takes a lot of inspiration from bevy_app. Thanks @cart!

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

About

WIP opinionated ECS set up for Shipyard

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages