docs: expand gameobject helper docs
This commit is contained in:
@@ -1,30 +1,32 @@
|
||||
# GameObject::Destroy
|
||||
|
||||
公开方法,详见头文件声明。
|
||||
销毁当前对象。
|
||||
|
||||
```cpp
|
||||
void Destroy();
|
||||
```
|
||||
|
||||
该方法声明于 `XCEngine/Components/GameObject.h`,当前页面用于固定 `GameObject` 类目录下的方法级 canonical 路径。
|
||||
## 行为说明
|
||||
|
||||
**参数:** 无。
|
||||
当前实现有两条分支:
|
||||
|
||||
**返回:** `void` - 无返回值。
|
||||
- 如果对象属于某个 `Scene`
|
||||
- 调用 `m_scene->DestroyGameObject(this)`
|
||||
- 如果对象不属于场景
|
||||
- 只调用 `OnDestroy()`
|
||||
|
||||
**示例:**
|
||||
## 重要边界
|
||||
|
||||
```cpp
|
||||
#include <XCEngine/Components/GameObject.h>
|
||||
- 对场景托管对象来说,真正的移除、子树递归、事件分发和 registry 清理都在 `Scene::DestroyGameObject()` 里完成
|
||||
- 对独立对象来说,这个接口**不会释放对象自身内存**
|
||||
- 析构函数和 `Destroy()` 不是同一个语义层级
|
||||
|
||||
void Example() {
|
||||
XCEngine::Components::GameObject object;
|
||||
// 根据上下文补齐参数后调用 GameObject::Destroy(...)。
|
||||
(void)object;
|
||||
}
|
||||
```
|
||||
## 返回值
|
||||
|
||||
- 无。
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [返回类总览](GameObject.md)
|
||||
- [返回模块目录](../Components.md)
|
||||
- [OnDestroy](OnDestroy.md)
|
||||
- [Scene::DestroyGameObject](../../Scene/Scene/DestroyGameObject.md)
|
||||
- [GameObject](GameObject.md)
|
||||
|
||||
Reference in New Issue
Block a user