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

30 lines
745 B
Markdown

# GameObject::Start
向当前对象及其子树分发一次性的 `Start()` 阶段。
```cpp
void Start();
```
## 行为说明
当前实现分两步:
1. 若对象不处于 `active in hierarchy`,直接返回
2. 若对象尚未 `m_started`
- 对所有已启用普通组件调用 `Start()`
-`m_started` 置为 `true`
3. 无论当前对象是否第一次启动,都会继续递归对子对象调用 `Start()`
## 重要边界
- 每个对象自己的 `Start()` 只会自动执行一次
- 子对象也通过这个递归链进入 `Start()`
- 运行时后加的组件不会因为对象已启动过而自动补发 `Start()`
## 相关文档
- [Awake](Awake.md)
- [Update](Update.md)
- [IsActiveInHierarchy](IsActiveInHierarchy.md)