Можно ли добавить дочерний элемент или дочерние элементы к сущности без прямого использования мира с локальной системой потока?
У меня есть
Entity
и
Bundle
из
Components
что я хочу быть прикрепленным к сущности, которая будет дочерним элементом первой сущности. я могу использовать
Commands
чтобы создать объект с моими компонентами, но я не могу получить его
Entity
, что означает, что я не могу просто построить
Children
компонент напрямую. Если я использую
World
ресурс и сделать мой системный поток локальным, я могу получить
Entity
моего дочернего объекта, когда я его порождаю, а затем использую его для создания
Child
компонент и добавьте его к самому первому объекту. Я не могу заставить работать локальные системы потоков, и они кажутся излишними для того, что должно быть простой и распространенной операцией.
Могу ли я использовать обычную систему для добавления дочернего объекта к другому объекту?
В качестве небольшого пояснения, вот каков мой идеальный синтаксис для этого:
fn add_children(mut commands: Commands, entity: &Entity) {
commands.add_children(*entity, ComponentBundle::default());
// maybe also
commands.add_child(*entity, Component::default());
}
1 ответ
Я нашел ответ. Вы сначала создаете объект с помощью
commands.spawn(...)
, затем возьмите этот объект с помощью
commands.current_entity().unwrap()
(Я не знаю, что делать, если это не удается), тогда
commands.push_children(entity, &[children])
добавляет детей.