Skip to content

ECS Framework API v2.2.11


ECS Framework API / ComponentSerializer

Class: ComponentSerializer

Defined in: packages/core/src/ECS/Serialization/ComponentSerializer.ts:39

组件序列化器类

Constructors

Constructor

new ComponentSerializer(): ComponentSerializer

Returns

ComponentSerializer

Methods

serialize()

static serialize(component): null | SerializedComponent

Defined in: packages/core/src/ECS/Serialization/ComponentSerializer.ts:46

序列化单个组件

Parameters

component

Component

要序列化的组件实例

Returns

null | SerializedComponent

序列化后的组件数据,如果组件不可序列化则返回null


deserialize()

static deserialize(serializedData, componentRegistry): null | Component

Defined in: packages/core/src/ECS/Serialization/ComponentSerializer.ts:92

反序列化组件

Parameters

serializedData

SerializedComponent

序列化的组件数据

componentRegistry

Map<string, ComponentType>

组件类型注册表 (类型名 -> 构造函数)

Returns

null | Component

反序列化后的组件实例,如果失败则返回null


serializeComponents()

static serializeComponents(components): SerializedComponent[]

Defined in: packages/core/src/ECS/Serialization/ComponentSerializer.ts:140

批量序列化组件

Parameters

components

Component[]

组件数组

Returns

SerializedComponent[]

序列化后的组件数据数组


deserializeComponents()

static deserializeComponents(serializedComponents, componentRegistry): Component[]

Defined in: packages/core/src/ECS/Serialization/ComponentSerializer.ts:160

批量反序列化组件

Parameters

serializedComponents

SerializedComponent[]

序列化的组件数据数组

componentRegistry

Map<string, ComponentType>

组件类型注册表

Returns

Component[]

反序列化后的组件数组


validateVersion()

static validateVersion(serializedData, expectedVersion): boolean

Defined in: packages/core/src/ECS/Serialization/ComponentSerializer.ts:288

验证序列化数据的版本

Parameters

serializedData

SerializedComponent

序列化数据

expectedVersion

number

期望的版本号

Returns

boolean

版本是否匹配


getSerializationInfo()

static getSerializationInfo(component): null | { type: string; version: number; fields: string[]; ignoredFields: string[]; isSerializable: boolean; }

Defined in: packages/core/src/ECS/Serialization/ComponentSerializer.ts:301

获取组件的序列化信息

Parameters

component

组件实例或组件类

Component | ComponentType

Returns

null | { type: string; version: number; fields: string[]; ignoredFields: string[]; isSerializable: boolean; }

序列化信息对象,包含类型名、版本、可序列化字段列表

Released under the MIT License.