ECS Framework API / TypedQueryResult
Class: TypedQueryResult<TAll>
Defined in: packages/core/src/ECS/Core/Query/TypedQuery.ts:16
类型安全的查询结果
根据查询条件自动推断实体必定拥有的组件类型
Type Parameters
TAll
TAll extends readonly ComponentConstructor[]
Constructors
Constructor
new TypedQueryResult<
TAll>(entities,componentTypes):TypedQueryResult<TAll>
Defined in: packages/core/src/ECS/Core/Query/TypedQuery.ts:20
Parameters
entities
readonly Entity[]
componentTypes
TAll
Returns
TypedQueryResult<TAll>
Accessors
entities
Get Signature
get entities(): readonly
Entity[]
Defined in: packages/core/src/ECS/Core/Query/TypedQuery.ts:28
获取实体列表
Returns
readonly Entity[]
length
Get Signature
get length():
number
Defined in: packages/core/src/ECS/Core/Query/TypedQuery.ts:35
实体数量
Returns
number
first
Get Signature
get first():
undefined|Entity
Defined in: packages/core/src/ECS/Core/Query/TypedQuery.ts:100
获取第一个实体
Returns
undefined | Entity
last
Get Signature
get last():
undefined|Entity
Defined in: packages/core/src/ECS/Core/Query/TypedQuery.ts:107
获取最后一个实体
Returns
undefined | Entity
isEmpty
Get Signature
get isEmpty():
boolean
Defined in: packages/core/src/ECS/Core/Query/TypedQuery.ts:114
检查查询结果是否为空
Returns
boolean
Methods
forEach()
forEach(
callback):void
Defined in: packages/core/src/ECS/Core/Query/TypedQuery.ts:51
遍历所有实体
Parameters
callback
(entity, index) => void
Returns
void
Example
query.forEach((entity) => {
// entity.getComponent返回类型自动推断
const pos = entity.getComponent(Position); // Position类型
const vel = entity.getComponent(Velocity); // Velocity类型
});map()
map<
R>(callback):R[]
Defined in: packages/core/src/ECS/Core/Query/TypedQuery.ts:58
映射转换实体
Type Parameters
R
R
Parameters
callback
(entity, index) => R
Returns
R[]
filter()
filter(
predicate):TypedQueryResult<TAll>
Defined in: packages/core/src/ECS/Core/Query/TypedQuery.ts:65
过滤实体
Parameters
predicate
(entity, index) => boolean
Returns
TypedQueryResult<TAll>
find()
find(
predicate):undefined|Entity
Defined in: packages/core/src/ECS/Core/Query/TypedQuery.ts:72
查找第一个匹配的实体
Parameters
predicate
(entity, index) => boolean
Returns
undefined | Entity
some()
some(
predicate):boolean
Defined in: packages/core/src/ECS/Core/Query/TypedQuery.ts:79
检查是否存在匹配的实体
Parameters
predicate
(entity, index) => boolean
Returns
boolean
every()
every(
predicate):boolean
Defined in: packages/core/src/ECS/Core/Query/TypedQuery.ts:86
检查是否所有实体都匹配
Parameters
predicate
(entity, index) => boolean
Returns
boolean
get()
get(
index):undefined|Entity
Defined in: packages/core/src/ECS/Core/Query/TypedQuery.ts:93
获取指定索引的实体
Parameters
index
number
Returns
undefined | Entity
toArray()
toArray():
Entity[]
Defined in: packages/core/src/ECS/Core/Query/TypedQuery.ts:121
转换为数组
Returns
Entity[]
getComponentTypes()
getComponentTypes(): readonly
ComponentConstructor[]
Defined in: packages/core/src/ECS/Core/Query/TypedQuery.ts:128
获取组件类型信息(用于调试)
Returns
readonly ComponentConstructor[]
[iterator]()
[iterator]():
Iterator<Entity>
Defined in: packages/core/src/ECS/Core/Query/TypedQuery.ts:135
迭代器支持
Returns
Iterator<Entity>