All Projects → rustgd → Specs Hierarchy

rustgd / Specs Hierarchy

Licence: other
A generic scene graph extension for Specs

Programming Languages

rust
11053 projects

Labels

Projects that are alternatives of or similar to Specs Hierarchy

Ecs Deploy
Powerful CLI tool to simplify Amazon ECS deployments, rollbacks & scaling
Stars: ✭ 541 (+1491.18%)
Mutual labels:  ecs
Aliyungo
Go SDK for Aliyun (Alibaba Cloud) - Golang API for ECS, OSS, DNS, SLB, RDS, RAM, MNS, STS, SLS, MQ, Push, OpenSearch, DM, Container Service etc.
Stars: ✭ 756 (+2123.53%)
Mutual labels:  ecs
Alibaba Cloud Sdk Go
Alibaba Cloud SDK for Go
Stars: ✭ 876 (+2476.47%)
Mutual labels:  ecs
Scope
Monitoring, visualisation & management for Docker & Kubernetes
Stars: ✭ 5,247 (+15332.35%)
Mutual labels:  ecs
Svelto.ecs
Svelto ECS C# Lightweight Data Oriented Entity Component System Framework
Stars: ✭ 605 (+1679.41%)
Mutual labels:  ecs
Unitymmo
an unity mmo demo, base on ecs(game play), xlua(ui)
Stars: ✭ 780 (+2194.12%)
Mutual labels:  ecs
Infrastructure As Code Talk
Sample code for the talk "Infrastructure-as-code: running microservices on AWS with Docker, ECS, and Terraform"
Stars: ✭ 520 (+1429.41%)
Mutual labels:  ecs
Mu
A full-stack DevOps on AWS framework
Stars: ✭ 948 (+2688.24%)
Mutual labels:  ecs
Aliyun Sdk Js
阿里云 SDK for Javascript,支持在浏览器和 Nodejs 环境使用,支持大部分阿里云服务。
Stars: ✭ 727 (+2038.24%)
Mutual labels:  ecs
Fargatecli
CLI for AWS Fargate
Stars: ✭ 852 (+2405.88%)
Mutual labels:  ecs
Entitas Csharp
Entitas is a super fast Entity Component System (ECS) Framework specifically made for C# and Unity
Stars: ✭ 5,393 (+15761.76%)
Mutual labels:  ecs
Ecs
LeoECS is a fast Entity Component System (ECS) Framework powered by C# with optional integration to Unity
Stars: ✭ 578 (+1600%)
Mutual labels:  ecs
Feather
A Minecraft server implementation in Rust
Stars: ✭ 896 (+2535.29%)
Mutual labels:  ecs
Anything about game
A wonderful list of Game Development resources.
Stars: ✭ 541 (+1491.18%)
Mutual labels:  ecs
Ecsctl
Command-line tool for managing AWS Elastic Container Service and Projects to run on it.
Stars: ✭ 15 (-55.88%)
Mutual labels:  ecs
Rockgo
A developing game server framework,based on Entity Component System(ECS).
Stars: ✭ 532 (+1464.71%)
Mutual labels:  ecs
Ecs Refarch Continuous Deployment
ECS Reference Architecture for creating a flexible and scalable deployment pipeline to Amazon ECS using AWS CodePipeline
Stars: ✭ 776 (+2182.35%)
Mutual labels:  ecs
Aws Scalable Big Blue Button Example
Demonstration of how to deploy a scalable video conference solution based on Big Blue Button
Stars: ✭ 29 (-14.71%)
Mutual labels:  ecs
Ecs
A simple and easy to use entity-component-system C++ library
Stars: ✭ 20 (-41.18%)
Mutual labels:  ecs
Ecs.hpp
C++17 Entity Component System
Stars: ✭ 25 (-26.47%)
Mutual labels:  ecs

specs-hierarchy

Build Status Crates.io Gitter MIT/Apache Docs.rs LoC

Scene graph type hierarchy abstraction for use with specs.

Builds up a Hierarchy resource, by querying a user supplied Parent component. Requires the component to be Tracked.

Will send modification events on an internal EventChannel. Note that Removed events does not mean the Parent component was removed from the component storage, just that the Entity will no longer be considered to be a part of the Hierarchy. This is because the user may wish to either remove only the component, the complete Entity, or something completely different. When an Entity that is a parent gets removed from the hierarchy, the full tree of children below it will also be removed from the hierarchy.

Usage

# Cargo.toml
[dependencies]
specs-hierarchy = "0.5.1"

Example

use specs::prelude::{Component, DenseVecStorage, Entity, FlaggedStorage};
use specs_hierarchy::{Hierarchy, Parent as HParent};

/// Component for defining a parent entity.
///
/// The entity with this component *has* a parent, rather than *is* a parent.
#[derive(Debug, Clone, Eq, Ord, PartialEq, PartialOrd)]
pub struct Parent {
    /// The parent entity
    pub entity: Entity,
}

impl Component for Parent {
    type Storage = FlaggedStorage<Self, DenseVecStorage<Self>>;
}

impl HParent for Parent {
    fn parent_entity(&self) -> Entity {
        self.entity
    }
}

License

Licensed under either of

at your option.

Contribution

We are a community project that welcomes contribution from anyone. If you're interested in helping out, you can contact us either through GitHub, or via gitter.

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].