33 lines
722 B
Markdown
33 lines
722 B
Markdown
# GameObject::Destroy
|
|
|
|
销毁当前对象。
|
|
|
|
```cpp
|
|
void Destroy();
|
|
```
|
|
|
|
## 行为说明
|
|
|
|
当前实现有两条分支:
|
|
|
|
- 如果对象属于某个 `Scene`
|
|
- 调用 `m_scene->DestroyGameObject(this)`
|
|
- 如果对象不属于场景
|
|
- 只调用 `OnDestroy()`
|
|
|
|
## 重要边界
|
|
|
|
- 对场景托管对象来说,真正的移除、子树递归、事件分发和 registry 清理都在 `Scene::DestroyGameObject()` 里完成
|
|
- 对独立对象来说,这个接口**不会释放对象自身内存**
|
|
- 析构函数和 `Destroy()` 不是同一个语义层级
|
|
|
|
## 返回值
|
|
|
|
- 无。
|
|
|
|
## 相关文档
|
|
|
|
- [OnDestroy](OnDestroy.md)
|
|
- [Scene::DestroyGameObject](../../Scene/Scene/DestroyGameObject.md)
|
|
- [GameObject](GameObject.md)
|