Files
XCEngine/docs/api/XCEngine/Components/GameObject/GetComponentsInChildren.md

31 lines
878 B
Markdown

# GameObject::GetComponentsInChildren
返回当前对象及其子树中的全部匹配组件。
```cpp
template<typename T>
std::vector<T*> GetComponentsInChildren();
```
## 收集顺序
当前实现会:
1. 先调用当前对象自己的 [GetComponents](GetComponents.md)
2. 再按 `m_children` 当前顺序递归调用每个子对象的 `GetComponentsInChildren<T>()`
3. 把每个子树结果依次追加到总数组
因此它的结果语义是“当前对象优先,然后按子树深度优先展开”。
## 当前语义边界
- 搜索范围包含当前对象自己
- 返回全部匹配项,而不是第一个
- `TransformComponent` 只要类型匹配,同样会通过 [GetComponents](GetComponents.md) 出现在结果里
## 相关文档
- [GetComponents](GetComponents.md)
- [GetComponentInChildren](GetComponentInChildren.md)
- [GetChildren](GetChildren.md)