5个版本
0.2.1 | 2024年7月25日 |
---|---|
0.2.0 | 2024年4月16日 |
0.1.5 | 2024年4月7日 |
0.1.4 | 2024年2月10日 |
0.1.3 | 2023年12月25日 |
#273 in 游戏开发
每月456次下载
在3个Crate中使用(通过abc_game_engine)
100KB
2K SLoC
性能
该ECS注重可用性。但请注意,它只是一个伪ECS。根据需要,您可以使用run或single_entity_step和pre-step来利用我们提供的多线程。根据需要,您可以在这两种方法之间切换。如果您需要,这个ECS可以非常高效。
ABC游戏引擎 - 简单ECS框架
此Rust项目提供了一个基本的框架,用于使用实体组件系统(ECS)方法在ABC游戏引擎中管理游戏实体、组件和系统。
快速示例
创建World
use ABC_ECS::World;
struct Position {
x: f32,
y: f32,
}
struct Velocity {
x: f32,
y: f32,
}
fn main(){
let mut world = World::new();
let entities_and_components = &mut world.entities_and_components;
// Add an Entity and Components:
let entity = entities_and_components.add_entity();
// Add components like Position and Velocity
entities_and_components.add_component_to(entity, Position { x: 0.0, y: 0.0 });
entities_and_components.add_component_to(entity, Velocity { x: 1.0, y: 1.0 });
// or you can do it in one step:
let entity = entities_and_components
.add_entity_with((Position { x: 0.0, y: 0.0 }, Velocity { x: 1.0, y: 1.0 }));
}
文档
请访问此处的文档。
贡献
欢迎贡献!请先提交一个问题,然后我们可以从这里开始工作!如果您不确定要做什么但想帮忙,请加入Discord并提醒我,我很乐意帮忙!
依赖项
~1.5MB
~30K SLoC