Skip to content

ECS Framework API v2.1.50


ECS Framework API / Component

Abstract Class: Component

Defined in: ECS/Component.ts:24

游戏组件基类

ECS架构中的组件(Component),用于实现具体的游戏功能。 组件包含数据和行为,可以被添加到实体上以扩展实体的功能。

Example

typescript
class HealthComponent extends Component {
    public health: number = 100;
    
    public takeDamage(damage: number): void {
        this.health -= damage;
        if (this.health <= 0) {
            this.entity.destroy();
        }
    }
}

Implements

Constructors

Constructor

new Component(): Component

Defined in: ECS/Component.ts:67

创建组件实例

自动分配唯一ID给组件。

Returns

Component

Properties

_idGenerator

static _idGenerator: number = 0

Defined in: ECS/Component.ts:30

组件ID生成器

用于为每个组件分配唯一的ID。


id

readonly id: number

Defined in: ECS/Component.ts:37

组件唯一标识符

在整个游戏生命周期中唯一的数字ID。

Implementation of

IComponent.id


entity

entity: Entity

Defined in: ECS/Component.ts:44

组件所属的实体

指向拥有此组件的实体实例。

Accessors

enabled

Get Signature

get enabled(): boolean

Defined in: ECS/Component.ts:79

获取组件启用状态

组件的实际启用状态取决于自身状态和所属实体的状态。

Deprecated

不符合ECS架构规范,建议自己实现DisabledComponent标记组件替代

Returns

boolean

如果组件和所属实体都启用则返回true

Set Signature

set enabled(value): void

Defined in: ECS/Component.ts:91

设置组件启用状态

当状态改变时会触发相应的生命周期回调。

Deprecated

不符合ECS架构规范,建议自己实现DisabledComponent标记组件替代

Parameters
value

boolean

新的启用状态

Returns

void

组件启用状态

Implementation of

IComponent.enabled


updateOrder

Get Signature

get updateOrder(): number

Defined in: ECS/Component.ts:109

获取更新顺序

Deprecated

不符合ECS架构规范,更新顺序应该由EntitySystem管理

See

EntitySystem

Returns

number

组件的更新顺序值

Set Signature

set updateOrder(value): void

Defined in: ECS/Component.ts:120

设置更新顺序

Deprecated

不符合ECS架构规范,更新顺序应该由EntitySystem管理

See

EntitySystem

Parameters
value

number

新的更新顺序值

Returns

void

更新顺序

Implementation of

IComponent.updateOrder

Methods

onAddedToEntity()

onAddedToEntity(): void

Defined in: ECS/Component.ts:129

组件添加到实体时的回调

当组件被添加到实体时调用,可以在此方法中进行初始化操作。

Returns

void

Implementation of

IComponent.onAddedToEntity


onRemovedFromEntity()

onRemovedFromEntity(): void

Defined in: ECS/Component.ts:137

组件从实体移除时的回调

当组件从实体中移除时调用,可以在此方法中进行清理操作。

Returns

void

Implementation of

IComponent.onRemovedFromEntity


onEnabled()

onEnabled(): void

Defined in: ECS/Component.ts:145

组件启用时的回调

当组件被启用时调用。

Returns

void

Implementation of

IComponent.onEnabled


onDisabled()

onDisabled(): void

Defined in: ECS/Component.ts:153

组件禁用时的回调

当组件被禁用时调用。

Returns

void

Implementation of

IComponent.onDisabled


update()

update(): void

Defined in: ECS/Component.ts:161

更新组件

Returns

void

Deprecated

不符合ECS架构规范,建议使用EntitySystem来处理更新逻辑

Implementation of

IComponent.update

Released under the MIT License.