EntityX - 获取添加到系统的新实体

时间:2015-04-04 13:15:13

标签: c++ entityx

在Artemis系统中,您可以指定系统所需的组件,即如果和实体在某个时刻至少具有所有必需的组件,则认为它被添加到系统中,即系统将在下一帧处理它。但是在Artemis中,您还可以获得诸如addedremoved之类的回调函数,这些函数可以告诉您将新实体添加到系统中。

另一方面,在EntityX中,我看到系统不需要特定的组件。实体是在运行中请求的,并且没有诸如实体添加到系统中的概念。因此,我想了解我如何做到以下几点。我需要在系统ABC中处理所有具有ABC的实体,当存在具有组件A和{{的实体时会获得某些事件1}}我还添加了组件B。如何识别和处理这种情况。

1 个答案:

答案 0 :(得分:0)

在EntityX中,没有Entity属于系统或系统的概念。在每个系统中,您只需使用entities_with_components方法获取具有特定组件的实体列表,每次查询实体时,如果每个系统都有当前活动实体列表,则会更慢。