@tripo3d/engine / Entity
Interface: Entity<TObject>
Defined in: ecs/entity.ts:16
与一个原生 Object3D 一一对应的通用 ECS 载体。
Type Parameters
| Type Parameter | Default type | Description |
|---|---|---|
TObject extends Object3D | Object3D | 通过 createEntity 绑定并保持 exact identity 的 Object3D 类型。 |
Properties
| Property | Modifier | Type | Description | Defined in |
|---|---|---|---|---|
children | readonly | readonly Entity<Object3D<Object3DEventMap>>[] | 当前 Object3D children 对应的 mutation-time COW Entity 投影。 | ecs/entity.ts:26 |
destroyed | readonly | boolean | Entity 是否已进入不可逆终态。 | ecs/entity.ts:33 |
object | readonly | TObject | 与该 Entity 一一对应且终身不替换的原生 Object3D。 | ecs/entity.ts:46 |
parent | readonly | Entity<Object3D<Object3DEventMap>> | null | 通过 Object3D parent 与 Engine binding 解析的父 Entity。 | ecs/entity.ts:60 |
pointerEvents | public | PointerEventsMode | null | 当前 Entity 的 raycast 候选策略;null 表示没有显式声明。 | ecs/entity.ts:62 |
pointerPriority | public | number | null | 候选 winner 的有限数值业务优先级;null 使用默认 0。 | ecs/entity.ts:64 |
world | readonly | World | null | 由 Object3D Scene ancestry 决定的当前 World membership。 | ecs/entity.ts:80 |
Methods
add()
add(...children): this;Defined in: ecs/entity.ts:18
Parameters
| Parameter | Type | Description |
|---|---|---|
...children | Entity<Object3D<Object3DEventMap>>[] | 待按顺序加入 object hierarchy 的同 Engine Entities。 |
Returns
this
当前 Entity。
addComponent()
addComponent<T>(definition): T;Defined in: ecs/entity.ts:20
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type | Description |
|---|---|---|
definition | ComponentDefinition<T> | Component Definition。 |
Returns
T
setup 返回的原始业务 identity。
addScript()
addScript<T>(definition): T;Defined in: ecs/entity.ts:22
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type | Description |
|---|---|---|
definition | ScriptDefinition<T> | Script Definition。 |
Returns
T
setup 返回的原始业务 identity。
attach()
attach(child): this;Defined in: ecs/entity.ts:24
Parameters
| Parameter | Type | Description |
|---|---|---|
child | Entity | 保持 world transform 重新挂接的同 Engine Entity。 |
Returns
this
当前 Entity。
clear()
clear(): this;Defined in: ecs/entity.ts:28
移除全部直接子 Entity,但不销毁它们。
Returns
this
当前 Entity。
destroy()
destroy(): void;Defined in: ecs/entity.ts:31
递归销毁 Entity 子树并释放固定标准 Three.js 资源;重复调用无副作用。
Returns
void
getComponent()
getComponent<T>(definition): T | undefined;Defined in: ecs/entity.ts:35
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type | Description |
|---|---|---|
definition | ComponentDefinition<T> | Component Definition。 |
Returns
T | undefined
已安装 setup 结果;不存在时返回 undefined。
getScript()
getScript<T>(definition): T | undefined;Defined in: ecs/entity.ts:37
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type | Description |
|---|---|---|
definition | ScriptDefinition<T> | Script Definition。 |
Returns
T | undefined
已安装 setup 结果;不存在时返回 undefined。
hasComponent()
hasComponent(definition): boolean;Defined in: ecs/entity.ts:39
Parameters
| Parameter | Type | Description |
|---|---|---|
definition | ComponentDefinition<unknown> | Component Definition。 |
Returns
boolean
当前 Entity 是否已安装该 identity。
hasScript()
hasScript(definition): boolean;Defined in: ecs/entity.ts:42
Parameters
| Parameter | Type | Description |
|---|---|---|
definition | ScriptDefinition<unknown> | Script Definition。 |
Returns
boolean
当前 Entity 是否已安装该 identity。
isScriptEnabled()
isScriptEnabled(definition): boolean;Defined in: ecs/entity.ts:44
Parameters
| Parameter | Type | Description |
|---|---|---|
definition | ScriptDefinition<unknown> | Script Definition。 |
Returns
boolean
owner 当前 enabled;不存在时返回 false。
onPointer()
onPointer<T>(type, handler): () => void;Defined in: ecs/entity.ts:54
注册 Entity-local spatial event handler。
Type Parameters
| Type Parameter |
|---|
T extends PointerEventType |
Parameters
| Parameter | Type | Description |
|---|---|---|
type | T | 原生鼠标事件映射后的 Engine event 类型。 |
handler | (event) => void | 沿 Entity route 同步派发的业务 handler。 |
Returns
幂等 unsubscribe。
() => void
remove()
remove(...children): this;Defined in: ecs/entity.ts:66
Parameters
| Parameter | Type | Description |
|---|---|---|
...children | Entity<Object3D<Object3DEventMap>>[] | 待从当前 parent 移除的直接子 Entities。 |
Returns
this
当前 Entity。
removeComponent()
removeComponent(definition): boolean;Defined in: ecs/entity.ts:68
Parameters
| Parameter | Type | Description |
|---|---|---|
definition | ComponentDefinition<unknown> | Component Definition。 |
Returns
boolean
本次是否实际移除了该 owner。
removeFromParent()
removeFromParent(): this;Defined in: ecs/entity.ts:70
从当前 Entity parent 分离;没有 Entity parent 时无副作用。
Returns
this
当前 Entity。
removeScript()
removeScript(definition): boolean;Defined in: ecs/entity.ts:72
Parameters
| Parameter | Type | Description |
|---|---|---|
definition | ScriptDefinition<unknown> | Script Definition。 |
Returns
boolean
本次是否实际移除了该 owner。
setScriptEnabled()
setScriptEnabled(definition, enabled): boolean;Defined in: ecs/entity.ts:78
Parameters
| Parameter | Type | Description |
|---|---|---|
definition | ScriptDefinition<unknown> | Script Definition。 |
enabled | boolean | 要提交的 enabled。 |
Returns
boolean
找到并处理该 owner 时返回 true,否则返回 false。