我应该在每个具有父级的实体上添加一个所有者组件吗?如果是,该组件的正确术语是什么。目前我正在使用AttachmentComponent
由 owner 组成的组件Entity
,并像下面的代码一样使用它。
AttachmentComponent ...
ItemComponent ...
entity.add(attachment);
entity.add(item);
我应该在每个具有父级的实体上添加一个所有者组件吗?如果是,该组件的正确术语是什么。目前我正在使用AttachmentComponent
由 owner 组成的组件Entity
,并像下面的代码一样使用它。
AttachmentComponent ...
ItemComponent ...
entity.add(attachment);
entity.add(item);
如果您的实体本质上可以是分层的,为什么要引入一个组件来表示父实体,而是将其表示为实体本身的属性?
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
如果您需要从自上而下而不是自下而上遍历实体层次结构,您还可以维护每个列表及其所有相关子级。