From 5047d5608084bbb0a0e68a7980e2945648c32542 Mon Sep 17 00:00:00 2001 From: ssdfasd <2156608475@qq.com> Date: Thu, 26 Mar 2026 01:55:34 +0800 Subject: [PATCH] refactor(docs): add GameObject UUID methods and Component serialization methods --- docs/api/components/component/component.md | 2 ++ .../game-object/detach-from-parent.md | 15 +++++++++++++++ .../game-object/find-game-objects-with-tag.md | 18 ++++++++++++++++++ .../game-object/find-objects-of-type.md | 15 +++++++++++++++ docs/api/components/game-object/find.md | 18 ++++++++++++++++++ docs/api/components/game-object/game-object.md | 8 +++++--- docs/api/components/game-object/get-uuid.md | 13 +++++++++++++ 7 files changed, 86 insertions(+), 3 deletions(-) create mode 100644 docs/api/components/game-object/detach-from-parent.md create mode 100644 docs/api/components/game-object/find-game-objects-with-tag.md create mode 100644 docs/api/components/game-object/find-objects-of-type.md create mode 100644 docs/api/components/game-object/find.md create mode 100644 docs/api/components/game-object/get-uuid.md diff --git a/docs/api/components/component/component.md b/docs/api/components/component/component.md index 9005c669..9c15478b 100644 --- a/docs/api/components/component/component.md +++ b/docs/api/components/component/component.md @@ -35,6 +35,8 @@ Component 是 XCEngine ECS 架构中的组件基类,所有具体组件(如 T | `virtual void OnEnable()` | 启用时调用 | | `virtual void OnDisable()` | 禁用时调用 | | `virtual void OnDestroy()` | 销毁时调用 | +| `virtual void Serialize(std::ostream& os) const` | 序列化组件数据 | +| `virtual void Deserialize(std::istream& is)` | 反序列化组件数据 | ## 使用示例 diff --git a/docs/api/components/game-object/detach-from-parent.md b/docs/api/components/game-object/detach-from-parent.md new file mode 100644 index 00000000..1323f35c --- /dev/null +++ b/docs/api/components/game-object/detach-from-parent.md @@ -0,0 +1,15 @@ +# GameObject::DetachFromParent + +从父对象分离。 + +```cpp +void DetachFromParent(); +``` + +将当前 GameObject 从其父对象分离。分离后,该对象将成为根对象,但其子对象会保持为它的子对象。 + +## 相关文档 + +- [GameObject 总览](game-object.md) +- [SetParent](set-parent.md) +- [DetachChildren](detach-children.md) diff --git a/docs/api/components/game-object/find-game-objects-with-tag.md b/docs/api/components/game-object/find-game-objects-with-tag.md new file mode 100644 index 00000000..8bf4de5b --- /dev/null +++ b/docs/api/components/game-object/find-game-objects-with-tag.md @@ -0,0 +1,18 @@ +# GameObject::FindGameObjectsWithTag + +查找具有指定标签的所有游戏对象。 + +```cpp +static std::vector FindGameObjectsWithTag(const std::string& tag); +``` + +**参数:** +- `tag` - 要查找的标签 + +**返回:** `std::vector` - 具有指定标签的所有游戏对象列表 + +## 相关文档 + +- [GameObject 总览](game-object.md) +- [Find](find.md) +- [FindObjectsOfType](find-objects-of-type.md) diff --git a/docs/api/components/game-object/find-objects-of-type.md b/docs/api/components/game-object/find-objects-of-type.md new file mode 100644 index 00000000..7e4e2a2c --- /dev/null +++ b/docs/api/components/game-object/find-objects-of-type.md @@ -0,0 +1,15 @@ +# GameObject::FindObjectsOfType + +查找所有游戏对象。 + +```cpp +static std::vector FindObjectsOfType(); +``` + +**返回:** `std::vector` - 场景中所有 GameObject 的列表 + +## 相关文档 + +- [GameObject 总览](game-object.md) +- [Find](find.md) +- [FindGameObjectsWithTag](find-game-objects-with-tag.md) diff --git a/docs/api/components/game-object/find.md b/docs/api/components/game-object/find.md new file mode 100644 index 00000000..6d71625e --- /dev/null +++ b/docs/api/components/game-object/find.md @@ -0,0 +1,18 @@ +# GameObject::Find + +查找指定名称的游戏对象。 + +```cpp +static GameObject* Find(const std::string& name); +``` + +**参数:** +- `name` - 要查找的游戏对象名称 + +**返回:** `GameObject*` - 找到的游戏对象指针,如果未找到则返回 nullptr + +## 相关文档 + +- [GameObject 总览](game-object.md) +- [FindObjectsOfType](find-objects-of-type.md) +- [FindGameObjectsWithTag](find-game-objects-with-tag.md) diff --git a/docs/api/components/game-object/game-object.md b/docs/api/components/game-object/game-object.md index 54e263b5..181f3e88 100644 --- a/docs/api/components/game-object/game-object.md +++ b/docs/api/components/game-object/game-object.md @@ -26,6 +26,7 @@ GameObject 是 XCEngine ECS 架构中的实体(Entity)类,代表游戏世 | 方法 | 描述 | |------|------| | [`GetID`](get-id.md) | 获取唯一标识符 | +| [`GetUUID`](get-uuid.md) | 获取全局唯一标识符 | | [`GetName`](get-name.md) | 获取名称 | | [`SetName`](set-name.md) | 设置名称 | | [`GetScene`](get-scene.md) | 获取所属场景 | @@ -46,6 +47,7 @@ GameObject 是 XCEngine ECS 架构中的实体(Entity)类,代表游戏世 | 方法 | 描述 | |------|------| +| [`DetachFromParent`](detach-from-parent.md) | 从父对象分离 | | [`GetParent`](get-parent.md) | 获取父对象 | | [`SetParent`](set-parent.md) | 设置父对象 | | [`GetChildCount`](get-child-count.md) | 获取子对象数量 | @@ -65,9 +67,9 @@ GameObject 是 XCEngine ECS 架构中的实体(Entity)类,代表游戏世 | 方法 | 描述 | |------|------| -| `static Find(name)` | 查找指定名称的对象 | -| `static FindObjectsOfType()` | 查找所有对象 | -| `static FindGameObjectsWithTag(tag)` | 查找具有指定标签的对象 | +| [`Find`](find.md) | 查找指定名称的对象 | +| [`FindObjectsOfType`](find-objects-of-type.md) | 查找所有对象 | +| [`FindGameObjectsWithTag`](find-game-objects-with-tag.md) | 查找具有指定标签的对象 | ### 生命周期 diff --git a/docs/api/components/game-object/get-uuid.md b/docs/api/components/game-object/get-uuid.md new file mode 100644 index 00000000..3d263879 --- /dev/null +++ b/docs/api/components/game-object/get-uuid.md @@ -0,0 +1,13 @@ +# GameObject::GetUUID + +获取游戏对象的全局唯一标识符。 + +```cpp +uint64_t GetUUID() const; +``` + +**返回:** `uint64_t` - 游戏对象的全局唯一标识符 + +## 相关文档 + +- [GameObject 总览](game-object.md)