Должен ли я добавить компонент владельца на каждую сущность, у которой есть родитель?
Должен ли я добавить компонент владельца на каждую сущность, у которой есть родитель? если да, то каков правильный термин для этого компонента. В настоящее время я использую AttachmentComponent
которые состоят из владельца Entity
и используйте его как в приведенном ниже коде.
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
со всеми его соответствующими потомками, если вам нужно обходить иерархию сущностей сверху вниз, а не снизу вверх.