ECS Framework API / VersionMigrationManager
Class: VersionMigrationManager 
Defined in: packages/core/src/ECS/Serialization/VersionMigration.ts:27
版本迁移管理器
Constructors 
Constructor 
new VersionMigrationManager():
VersionMigrationManager
Returns 
VersionMigrationManager
Methods 
registerComponentMigration() 
staticregisterComponentMigration(componentType,fromVersion,toVersion,migration):void
Defined in: packages/core/src/ECS/Serialization/VersionMigration.ts:63
注册组件迁移函数
Parameters 
componentType 
string
组件类型名称
fromVersion 
number
源版本号
toVersion 
number
目标版本号
migration 
迁移函数
Returns 
void
Example 
// 从版本1迁移到版本2
VersionMigrationManager.registerComponentMigration(
    'PlayerComponent',
    1,
    2,
    (data) => {
        // 添加新字段
        data.experience = 0;
        return data;
    }
);registerSceneMigration() 
staticregisterSceneMigration(fromVersion,toVersion,migration):void
Defined in: packages/core/src/ECS/Serialization/VersionMigration.ts:99
注册场景迁移函数
Parameters 
fromVersion 
number
源版本号
toVersion 
number
目标版本号
migration 
迁移函数
Returns 
void
Example 
VersionMigrationManager.registerSceneMigration(
    1,
    2,
    (scene) => {
        // 迁移场景结构
        scene.metadata = { ...scene.metadata, migratedFrom: 1 };
        return scene;
    }
);migrateComponent() 
staticmigrateComponent(component,targetVersion):SerializedComponent
Defined in: packages/core/src/ECS/Serialization/VersionMigration.ts:114
迁移组件数据
Parameters 
component 
序列化的组件数据
targetVersion 
number
目标版本号
Returns 
迁移后的组件数据
migrateScene() 
staticmigrateScene(scene,targetVersion):SerializedScene
Defined in: packages/core/src/ECS/Serialization/VersionMigration.ts:159
迁移场景数据
Parameters 
scene 
序列化的场景数据
targetVersion 
number
目标版本号
Returns 
迁移后的场景数据
clearMigrations() 
staticclearMigrations():void
Defined in: packages/core/src/ECS/Serialization/VersionMigration.ts:241
清除所有迁移函数
Returns 
void
getComponentMigrationPath() 
staticgetComponentMigrationPath(componentType):number[]
Defined in: packages/core/src/ECS/Serialization/VersionMigration.ts:252
获取组件的迁移路径
Parameters 
componentType 
string
组件类型名称
Returns 
number[]
可用的迁移版本列表
getSceneMigrationPath() 
staticgetSceneMigrationPath():number[]
Defined in: packages/core/src/ECS/Serialization/VersionMigration.ts:266
获取场景的迁移路径
Returns 
number[]
可用的场景迁移版本列表
canMigrateComponent() 
staticcanMigrateComponent(componentType,fromVersion,toVersion):boolean
Defined in: packages/core/src/ECS/Serialization/VersionMigration.ts:278
检查是否可以迁移组件
Parameters 
componentType 
string
组件类型名称
fromVersion 
number
源版本
toVersion 
number
目标版本
Returns 
boolean
是否存在完整的迁移路径
canMigrateScene() 
staticcanMigrateScene(fromVersion,toVersion):boolean
Defined in: packages/core/src/ECS/Serialization/VersionMigration.ts:309
检查是否可以迁移场景
Parameters 
fromVersion 
number
源版本
toVersion 
number
目标版本
Returns 
boolean
是否存在完整的迁移路径