deep-engine-demo/packages/docs/api/manager/IconManager.md
2026-04-19 18:46:28 +08:00

134 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
outline: [2, 3]
---
# IconManager
- 源文件:`packages/sdk/src/manager/IconManager.ts`
- 文档位置:`packages/docs/api/manager/IconManager.md`
## 类:`IconManager`
- 作用:图标管理类 - 通过精灵图(Sprite)添加和删除图标
### 构造函数
#### `new IconManager(scene: THREE.Scene)`
- 作用:构造函数
- 入参:
| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| `scene` | `THREE.Scene` | 是 | Three.js场景实例 |
- 出参:`IconManager`
- 返回说明:返回当前类实例。
### 属性
| 属性名 | 可见性 | 类型 | 作用 |
| --- | --- | --- | --- |
| `scene` | `public` | `THREE.Scene` | 用于保存 `scene` 对应的数据。 |
| `icons` | `public` | `Map<string, THREE.Sprite>` | 用于保存 `icons` 的映射关系。 |
| `textureLoader` | `public` | `THREE.TextureLoader` | 用于保存 `textureLoader` 对应的数据。 |
### 方法
#### `addIcon(iconOrId: Icon | string, textureUrl?: string, position?: THREE.Vector3, size: number = 1): THREE.Sprite<THREE.Object3DEventMap>`
- 作用:添加图标
- 入参:
| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| `iconOrId` | `Icon \| string` | 是 | 图标实例或图标唯一标识 |
| `textureUrl` | `string` | 否 | 精灵图纹理URL当第一个参数是ID时使用 |
| `position` | `THREE.Vector3` | 否 | 图标位置当第一个参数是ID时使用 |
| `size` | `number` | 否 | 图标大小当第一个参数是ID时使用 |
- 出参:`THREE.Sprite<THREE.Object3DEventMap>`
- 返回说明:添加的精灵图实例
#### `removeIcon(id: string): boolean`
- 作用:删除图标
- 入参:
| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| `id` | `string` | 是 | 图标唯一标识 |
- 出参:`boolean`
- 返回说明:是否删除成功
#### `getIcon(id: string): THREE.Sprite<THREE.Object3DEventMap> | undefined`
- 作用:获取图标
- 入参:
| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| `id` | `string` | 是 | 图标唯一标识 |
- 出参:`THREE.Sprite<THREE.Object3DEventMap> \| undefined`
- 返回说明精灵图实例或undefined
#### `getAllIcons(): Map<string, THREE.Sprite<THREE.Object3DEventMap>>`
- 作用:获取所有图标
- 入参:无
- 出参:`Map<string, THREE.Sprite<THREE.Object3DEventMap>>`
- 返回说明图标ID和精灵图实例的映射
#### `updateIconPosition(id: string, position: THREE.Vector3): boolean`
- 作用:更新图标位置
- 入参:
| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| `id` | `string` | 是 | 图标唯一标识 |
| `position` | `THREE.Vector3` | 是 | 新位置 |
- 出参:`boolean`
- 返回说明:是否更新成功
#### `updateIconSize(id: string, size: number): boolean`
- 作用:更新图标大小
- 入参:
| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| `id` | `string` | 是 | 图标唯一标识 |
| `size` | `number` | 是 | 新大小 |
- 出参:`boolean`
- 返回说明:是否更新成功
#### `clearAllIcons(): void`
- 作用:清除所有图标
- 入参:无
- 出参:`void`
- 返回说明:无返回值。
## 构造示例
- 当前 Demo 中没有直接展示 `IconManager` 的构造调用。
## 函数示例
- 当前 Demo 中没有直接展示 `IconManager` 的公开方法调用。