5个版本

0.1.0-alpha.52024年7月9日
0.1.0-alpha.32023年12月18日
0.1.0-alpha.22023年12月5日
0.1.0-alpha.12023年11月30日

#462游戏开发

Download history • Rust 包仓库 7/week @ 2024-05-16 • Rust 包仓库 13/week @ 2024-05-23 • Rust 包仓库 10/week @ 2024-05-30 • Rust 包仓库 8/week @ 2024-06-06 • Rust 包仓库 9/week @ 2024-06-13 • Rust 包仓库 12/week @ 2024-06-20 • Rust 包仓库 2/week @ 2024-06-27 • Rust 包仓库 201/week @ 2024-07-04 • Rust 包仓库 57/week @ 2024-07-11 • Rust 包仓库 16/week @ 2024-07-18 • Rust 包仓库 30/week @ 2024-07-25 • Rust 包仓库 13/week @ 2024-08-01 • Rust 包仓库

174 每月下载量
5 个工具包中使用(通过 magma_app

MIT 许可证

27KB
601

Magma-ECS

Magma-ECS是Magma3D引擎的实体-组件-系统。

功能

  • 简单轻量
  • 系统更新功能

    允许轻松执行系统

  • 并行

    所有代码都会自动并行化

免责声明

此项目仍在开发中,尚未准备用于生产。


lib.rs:

该工具包提供了Magma3D-Engine的实体-组件-系统。

该工具包提供了一个具有ResourcesEntitiesWorld结构。实体只是组件存储中的索引。资源类似于全局组件,独立于Entities

创建和设置World的示例

use magma_ecs::World;

let world = World::new();
// register a component type
world.register_component::<u32>();
// add a resource
world.add_resource(10_u32);

// create entity with registered component.
// It is recommended to free read/write locks as quickly as possible. Use scopes to do that.
{
    let mut entities = world.entities_write();
    entities.create_entity().with_component(20_u32).unwrap();
}

依赖关系

~1.5MB
~25K SLoC