Skip to content

ECS Framework API v2.1.50


ECS Framework API / IntervalSystem

Abstract Class: IntervalSystem

Defined in: ECS/Systems/IntervalSystem.ts:10

间隔系统抽象类 定义一个按时间间隔处理的抽象类,继承自EntitySystem类 子类需要实现process方法,用于实现具体的处理逻辑

Extends

Constructors

Constructor

new IntervalSystem(interval, matcher?): IntervalSystem

Defined in: ECS/Systems/IntervalSystem.ts:23

构造函数,初始化时间间隔

Parameters

interval

number

时间间隔

matcher?

Matcher

实体匹配器

Returns

IntervalSystem

Overrides

EntitySystem.constructor

Properties

logger

protected logger: ILogger

Defined in: ECS/Systems/EntitySystem.ts:54

Inherited from

EntitySystem.logger

Accessors

entities

Get Signature

get entities(): readonly Entity[]

Defined in: ECS/Systems/EntitySystem.ts:79

获取系统处理的实体列表

Returns

readonly Entity[]

Inherited from

EntitySystem.entities


updateOrder

Get Signature

get updateOrder(): number

Defined in: ECS/Systems/EntitySystem.ts:96

获取系统的更新时序

Returns

number

Set Signature

set updateOrder(value): void

Defined in: ECS/Systems/EntitySystem.ts:100

更新顺序/优先级

Parameters
value

number

Returns

void

更新顺序/优先级

Inherited from

EntitySystem.updateOrder


enabled

Get Signature

get enabled(): boolean

Defined in: ECS/Systems/EntitySystem.ts:107

获取系统的启用状态

Returns

boolean

Set Signature

set enabled(value): void

Defined in: ECS/Systems/EntitySystem.ts:114

设置系统的启用状态

Parameters
value

boolean

Returns

void

系统启用状态

Inherited from

EntitySystem.enabled


systemName

Get Signature

get systemName(): string

Defined in: ECS/Systems/EntitySystem.ts:121

获取系统名称

Returns

string

系统名称

Inherited from

EntitySystem.systemName


scene

Get Signature

get scene(): null | Scene

Defined in: ECS/Systems/EntitySystem.ts:164

这个系统所属的场景

Returns

null | Scene

Set Signature

set scene(value): void

Defined in: ECS/Systems/EntitySystem.ts:168

Parameters
value

null | Scene

Returns

void

Inherited from

EntitySystem.scene


matcher

Get Signature

get matcher(): Matcher

Defined in: ECS/Systems/EntitySystem.ts:175

获取实体匹配器

Returns

Matcher

Inherited from

EntitySystem.matcher

Methods

setUpdateOrder()

setUpdateOrder(order): void

Defined in: ECS/Systems/EntitySystem.ts:183

设置更新时序

Parameters

order

number

更新时序

Returns

void

Inherited from

EntitySystem.setUpdateOrder


initialize()

initialize(): void

Defined in: ECS/Systems/EntitySystem.ts:195

系统初始化(框架调用)

在系统创建时调用。框架内部使用,用户不应直接调用。

Returns

void

Inherited from

EntitySystem.initialize


onInitialize()

protected onInitialize(): void

Defined in: ECS/Systems/EntitySystem.ts:219

系统初始化回调

子类可以重写此方法进行初始化操作。

Returns

void

Inherited from

EntitySystem.onInitialize


clearEntityCache()

clearEntityCache(): void

Defined in: ECS/Systems/EntitySystem.ts:227

清除实体缓存(内部使用) 当Scene中的实体发生变化时调用

Returns

void

Inherited from

EntitySystem.clearEntityCache


reset()

reset(): void

Defined in: ECS/Systems/EntitySystem.ts:236

重置系统状态

当系统从场景中移除时调用,重置初始化状态以便重新添加时能正确初始化。

Returns

void

Inherited from

EntitySystem.reset


update()

update(): void

Defined in: ECS/Systems/EntitySystem.ts:508

更新系统

Returns

void

Inherited from

EntitySystem.update


lateUpdate()

lateUpdate(): void

Defined in: ECS/Systems/EntitySystem.ts:531

后期更新系统

Returns

void

Inherited from

EntitySystem.lateUpdate


onBegin()

protected onBegin(): void

Defined in: ECS/Systems/EntitySystem.ts:557

在系统处理开始前调用

子类可以重写此方法进行预处理操作。

Returns

void

Inherited from

EntitySystem.onBegin


process()

protected process(entities): void

Defined in: ECS/Systems/EntitySystem.ts:568

处理实体列表

系统的核心逻辑,子类必须实现此方法来定义具体的处理逻辑。

Parameters

entities

readonly Entity[]

要处理的实体列表

Returns

void

Inherited from

EntitySystem.process


lateProcess()

protected lateProcess(_entities): void

Defined in: ECS/Systems/EntitySystem.ts:579

后期处理实体列表

在主要处理逻辑之后执行,子类可以重写此方法。

Parameters

_entities

readonly Entity[]

Returns

void

Inherited from

EntitySystem.lateProcess


onEnd()

protected onEnd(): void

Defined in: ECS/Systems/EntitySystem.ts:588

系统处理完毕后调用

子类可以重写此方法进行后处理操作。

Returns

void

Inherited from

EntitySystem.onEnd


getPerformanceData()

getPerformanceData(): undefined | PerformanceData

Defined in: ECS/Systems/EntitySystem.ts:609

获取系统的性能数据

Returns

undefined | PerformanceData

性能数据或undefined

Inherited from

EntitySystem.getPerformanceData


getPerformanceStats()

getPerformanceStats(): undefined | PerformanceStats

Defined in: ECS/Systems/EntitySystem.ts:618

获取系统的性能统计

Returns

undefined | PerformanceStats

性能统计或undefined

Inherited from

EntitySystem.getPerformanceStats


resetPerformanceData()

resetPerformanceData(): void

Defined in: ECS/Systems/EntitySystem.ts:625

重置系统的性能数据

Returns

void

Inherited from

EntitySystem.resetPerformanceData


toString()

toString(): string

Defined in: ECS/Systems/EntitySystem.ts:634

获取系统信息的字符串表示

Returns

string

系统信息字符串

Inherited from

EntitySystem.toString


onAdded()

protected onAdded(entity): void

Defined in: ECS/Systems/EntitySystem.ts:680

当实体被添加到系统时调用

子类可以重写此方法来处理实体添加事件。

Parameters

entity

Entity

被添加的实体

Returns

void

Inherited from

EntitySystem.onAdded


onRemoved()

protected onRemoved(entity): void

Defined in: ECS/Systems/EntitySystem.ts:691

当实体从系统中移除时调用

子类可以重写此方法来处理实体移除事件。

Parameters

entity

Entity

被移除的实体

Returns

void

Inherited from

EntitySystem.onRemoved


addEventListener()

protected addEventListener<T>(eventType, handler, config?): void

Defined in: ECS/Systems/EntitySystem.ts:705

添加事件监听器

推荐使用此方法而不是直接调用eventSystem.on(), 这样可以确保系统移除时自动清理监听器,避免内存泄漏。

Type Parameters

T

T = any

Parameters

eventType

string

事件类型

handler

EventHandler<T>

事件处理函数

config?

EventListenerConfig

监听器配置

Returns

void

Inherited from

EntitySystem.addEventListener


removeEventListener()

protected removeEventListener<T>(eventType, handler): void

Defined in: ECS/Systems/EntitySystem.ts:734

移除特定的事件监听器

Type Parameters

T

T = any

Parameters

eventType

string

事件类型

handler

EventHandler<T>

事件处理函数

Returns

void

Inherited from

EntitySystem.removeEventListener


destroy()

destroy(): void

Defined in: ECS/Systems/EntitySystem.ts:773

框架内部销毁方法 由框架调用,处理系统的完整销毁流程

Returns

void

Inherited from

EntitySystem.destroy


getLoggerName()

protected getLoggerName(): string

Defined in: ECS/Systems/EntitySystem.ts:783

获取Logger名称 子类可以重写此方法来自定义logger名称

Returns

string

Inherited from

EntitySystem.getLoggerName


onDestroy()

protected onDestroy(): void

Defined in: ECS/Systems/EntitySystem.ts:793

用户销毁回调

当系统从场景中移除时调用,子类可以重写此方法进行清理操作。 注意:事件监听器会被框架自动清理,无需手动处理。

Returns

void

Inherited from

EntitySystem.onDestroy


onCheckProcessing()

protected onCheckProcessing(): boolean

Defined in: ECS/Systems/IntervalSystem.ts:33

判断是否需要进行处理 如果需要进行处理,则更新累积增量和时间间隔余数,返回true 否则返回false

Returns

boolean

Overrides

EntitySystem.onCheckProcessing


getIntervalDelta()

protected getIntervalDelta(): number

Defined in: ECS/Systems/IntervalSystem.ts:55

获取本系统上次处理后的实际delta值 实际delta值等于时间间隔加上时间间隔余数

Returns

number

Released under the MIT License.