Skip to content

ECS Framework API v2.2.13


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

typescript
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>

Released under the MIT License.