0

我应该在每个具有父级的实体上添加一个所有者组件吗?如果是,该组件的正确术语是什么。目前我正在使用AttachmentComponent由 owner 组成的组件Entity,并像下面的代码一样使用它。

AttachmentComponent ...
ItemComponent ...

entity.add(attachment);
entity.add(item);
4

1 回答 1

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如果您需要从自上而下而不是自下而上遍历实体层次结构,您还可以维护每个列表及其所有相关子级。

于 2017-01-30T20:56:06.810 回答