在Artemis系统中,您可以指定系统所需的组件,即如果和实体在某个时刻至少具有所有必需的组件,则认为它被添加到系统中,即系统将在下一帧处理它。但是在Artemis中,您还可以获得诸如added
或removed
之类的回调函数,这些函数可以告诉您将新实体添加到系统中。
另一方面,在EntityX中,我看到系统不需要特定的组件。实体是在运行中请求的,并且没有诸如实体添加到系统中的概念。因此,我想了解我如何做到以下几点。我需要在系统ABC
中处理所有具有A
,B
和C
的实体,当存在具有组件A
和{{的实体时会获得某些事件1}}我还添加了组件B
。如何识别和处理这种情况。
答案 0 :(得分:0)
在EntityX中,没有Entity属于系统或系统的概念。在每个系统中,您只需使用entities_with_components
方法获取具有特定组件的实体列表,每次查询实体时,如果每个系统都有当前活动实体列表,则会更慢。