我应该在每个拥有父级的实体上添加一个所有者组件吗?
Posted
技术标签:
【中文标题】我应该在每个拥有父级的实体上添加一个所有者组件吗?【英文标题】:Should I add a owner component on every entity that has parent? 【发布时间】:2017-02-24 11:50:59 【问题描述】:如果是,该组件的正确术语是什么。目前我正在使用由所有者Entity
组成的AttachmentComponent
,并像下面的代码一样使用它。
AttachmentComponent ...
ItemComponent ...
entity.add(attachment);
entity.add(item);
【问题讨论】:
【参考方案1】:如果您的实体本质上可以是分层的,为什么要引入一个组件来表示父实体,而是将其表示为实体本身的属性?
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
及其所有相关子项上维护一个列表。
【讨论】:
以上是关于我应该在每个拥有父级的实体上添加一个所有者组件吗?的主要内容,如果未能解决你的问题,请参考以下文章