Entitas是免费的,但由您的捐款提供支持
Entitas C#和Unity的实体组件系统框架
Entitas是最受欢迎的开源实体组件系统框架(ECS),是专门为C#和Unity制作的。已经做出了一些设计决定,以在收集的垃圾环境中最佳工作,并轻松在垃圾收集器上进行。 Entitas带有一个可选的代码生成器,该代码生成器从根本上减少了您必须编写的代码数量,并使您的代码像书面散文一样读取。
为什么Entitas
- #1 GitHub上的开源EC
- 根据MIT许可证的100%开源
- 不和谐的伟大而有用的社区
- 易于学习且易于使用
- 在没有团结的纯C#独立项目中运作良好
- 带有一个很棒的团结集成,称为视觉调试
- 在爆米花(Rollic / Zynga / Take两次),Gram Games,Wooga,Plarium,Storm Chaser等公司进行战斗测试
视频教程和Unity Unite Talks
| 视频 | 标题 | 资源 |
|---|---|---|
| Entitas ecs unity教程 – git&单位测试 | ||
| Entitas ecs Unity教程 – 设置和基础知识 | ||
| Unite Europe 2016:ECS建筑与团结一致 | Slideshare:Unite Europe 2016 | |
| Unite Europe 2015:团结的实体系统体系结构 | Slideshare:Unite Europe 2015 |
第一次瞥见
可选的代码生成器使您可以编写超快速,安全且字面意图的代码。
var entity = context . CreateEntity ( ) ; entity . AddPosition ( Vector3 . zero ) ; entity . AddVelocity ( Vector3 . forward ) ; entity . AddAsset ( \"Player\" ) ;
using static GameMatcher ; public sealed class MoveSystem : IExecuteSystem { readonly IGroup < GameEntity > _group ; public MoveSystem ( GameContext context ) { _group = context . GetGroup ( AllOf ( Position , Velocity ) ) ; } public void Execute ( ) { foreach ( var e in _group . GetEntities ( ) ) e . ReplacePosition ( e . position . value + e . velocity . value ) ; } }
概述
Entitas很快,轻巧,摆脱了不必要的复杂性。您需要知道的少数课程要启动您的游戏或应用程序:
- 语境
- 实体
- 成分
- 团体
Entitas ECS
+—————–+
| Context |
|—————–|
| e e | +———–+
| e e–|—-> | Entity |
| e e | |———–|
| e e e | | Component |
| e e | | | +———–+
| e e | | Component-|—-> | Component |
| e e e | | | |———–|
| e e e | | Component | | Data |
+—————–+ +———–+ +———–+
|
|
| +————-+ Groups:
| | e | Subsets of entities in the context
| | e e | for blazing fast querying
+—> | +————+
| e | | |
| e | e | e |
+——–|—-+ e |
| e |
| e e |
+————+\”>
Entitas ECS
+-----------------+
| Context |
|-----------------|
| e e | +-----------+
| e e--|----> | Entity |
| e e | |-----------|
| e e e | | Component |
| e e | | | +-----------+
| e e | | Component-|----> | Component |
| e e e | | | |-----------|
| e e e | | Component | | Data |
+-----------------+ +-----------+ +-----------+
|
|
| +-------------+ Groups:
| | e | Subsets of entities in the context
| | e e | for blazing fast querying
+---> | +------------+
| e | | |
| e | e | e |
+--------|----+ e |
| e |
| e e |
+------------+
阅读更多…
代码生成器
代码生成器为您生成类和方法,因此您可以专注于完成工作。它从根本上减少了您必须编写的代码量,并提高了可读性的大小。它使您的代码易于错误,同时确保最佳性能。
阅读更多…
团结整合
可选的Unity模块“ Visual Debugging”将Entitas良好地集成到Unity中,并提供强大的编辑器扩展程序来检查和调试环境,组,实体,组件和系统。
阅读更多…
深入Entitas
阅读Wiki或Checkout示例项目,以查看正在行动中的Entitas 。这些示例项目说明了系统,群体,收藏家和实体如何无缝地播放。
»下载并设置
»视频教程和Unity Unite Talks
»Wiki和示例项目
»问一个问题
下载和Entitas
GitHub发布(推荐)
显示版本
Unity软件包管理器
即将推出
nuget
Entitas和所有依赖项可作为Nuget软件包可用。更详细的解释即将推出。
Unity Asset Store(弃用)
Unity Asset Store上的Entitas已弃用,并且将不再更新。 Asset Store上的最后一个版本为1.12.3,可以免费下载。请参阅讨论7岁的Entitas – 现在是免费的
由于
向@mzaks,@cloudjubei和@devboy大声喊叫,以进行无休止的讨论,并帮助使Entitas很棒!
维护者
- @sschmid | @s_schmid | @ Entitas _csharp
不同的语言?
Entitas可用
- C#
- C ++
- 克洛杰尔
- 水晶
- Erlang
- F#
- 去
- 哈斯克尔
- 爪哇
- 科特林
- Objective-C
- Python
- Scala
- 迅速
- 打字稿
