实体组件系统-数据存储Blob

时间:2019-01-25 11:29:29

标签: c# data-structures tree entity-component-system

我已经摆弄了一段时间的实体组件系统。我读了很多,测试了很多,我已经实现了几种不同的方法。 我也知道很多有关速度和内存使用的缺点。在我尝试从不同角度解决问题的过程中,我常常发现自己犯有某种数据模式。

这个想法很简单:基本的类似DOM的树数据结构用于存储一个实体的所有数据。仅出于举例目的,我将网站用作实体-所以我坚持使用DOM。它得到了像树一样的数据结构,其中包含标签以及那些包含一些文本,数字和内容的标签。 (请清楚一点:我不是在谈论解析!树本身知道它保存的是什么数据。因此,我不必通过反射就可以从字符串创建数据。所有的东西都可以作为对象或基元存在。) 现在,该实体不仅具有DOM,而且还具有组件列表。您只需要做的就是遍历组件,然后将它们交给DOM结构。组件现在可以查询他们感兴趣的东西。每个组件都可以操纵数据,通过其他消息传递系统发送消息,等等。同样在创建实体时,组件可以注入实体中可能想要的任何数据。以游戏为例,我可以想到一个持有物品清单的实体。因此,库存组件仅在创建时创建库存。稍后,其他一些组件可以查看清单并进行处理。 我知道查询是瓶颈。在特定情况下,我想使用我的一种尝试来第一次将真实的事情做为模拟。因此,我不需要实时渲染精灵,并且可以在更长的时间内使用大量的CPU和RAM。

所以问题是:我想念什么?这个解决方案有什么用呢?除了查询速度。我觉得我已经想过很多次了,所以从一开始我就太专注于一种解决方案,而忽略了所有其他解决方案。 非常感谢!

0 个答案:

没有答案