我应该在每个拥有父级的实体上添加所有者组件吗?如果是,该组件的正确用语是什么。目前我正在使用由所有者AttachmentComponent
组成的Entity
,并在下面的代码中使用它。
AttachmentComponent ...
ItemComponent ...
entity.add(attachment);
entity.add(item);
答案 0 :(得分:0)
如果您的实体本质上可以是分层的,为什么要引入一个组件来表示父实体,而是将其表示为实体本身的属性?
public class Entity {
private Set<Component> components;
private Entity owner;
public final boolean hasOwner() {
return owner != null;
}
public void setOwner(Entity owner) {
this.owner = owner;
}
}
如果您需要从上到下而不是自下而上遍历实体层次结构,您还可以在每个Entity
上维护一个包含所有相关子项的列表。