Handle migration for new scene document version
This commit is contained in:
@@ -25,12 +25,13 @@ import {
|
|||||||
} from "./brushes";
|
} from "./brushes";
|
||||||
import {
|
import {
|
||||||
BOX_BRUSH_SCENE_DOCUMENT_VERSION,
|
BOX_BRUSH_SCENE_DOCUMENT_VERSION,
|
||||||
|
ENTITY_SYSTEM_FOUNDATION_SCENE_DOCUMENT_VERSION,
|
||||||
FACE_MATERIALS_SCENE_DOCUMENT_VERSION,
|
FACE_MATERIALS_SCENE_DOCUMENT_VERSION,
|
||||||
FIRST_ROOM_POLISH_SCENE_DOCUMENT_VERSION,
|
FIRST_ROOM_POLISH_SCENE_DOCUMENT_VERSION,
|
||||||
FOUNDATION_SCENE_DOCUMENT_VERSION,
|
FOUNDATION_SCENE_DOCUMENT_VERSION,
|
||||||
ENTITY_SYSTEM_FOUNDATION_SCENE_DOCUMENT_VERSION,
|
|
||||||
RUNNER_V1_SCENE_DOCUMENT_VERSION,
|
RUNNER_V1_SCENE_DOCUMENT_VERSION,
|
||||||
SCENE_DOCUMENT_VERSION,
|
SCENE_DOCUMENT_VERSION,
|
||||||
|
TRIGGER_ACTION_TARGET_FOUNDATION_SCENE_DOCUMENT_VERSION,
|
||||||
WORLD_ENVIRONMENT_SCENE_DOCUMENT_VERSION,
|
WORLD_ENVIRONMENT_SCENE_DOCUMENT_VERSION,
|
||||||
type SceneDocument
|
type SceneDocument
|
||||||
} from "./scene-document";
|
} from "./scene-document";
|
||||||
@@ -738,6 +739,23 @@ export function migrateSceneDocument(source: unknown): SceneDocument {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (source.version === TRIGGER_ACTION_TARGET_FOUNDATION_SCENE_DOCUMENT_VERSION) {
|
||||||
|
const materials = readMaterialRegistry(source.materials, "materials");
|
||||||
|
|
||||||
|
return {
|
||||||
|
version: SCENE_DOCUMENT_VERSION,
|
||||||
|
name: expectString(source.name, "name"),
|
||||||
|
world: readWorldSettings(source.world),
|
||||||
|
materials,
|
||||||
|
textures: expectEmptyCollection(source.textures, "textures"),
|
||||||
|
assets: expectEmptyCollection(source.assets, "assets"),
|
||||||
|
brushes: readBrushes(source.brushes, materials, false),
|
||||||
|
modelInstances: expectEmptyCollection(source.modelInstances, "modelInstances"),
|
||||||
|
entities: readEntities(source.entities),
|
||||||
|
interactionLinks: readInteractionLinks(source.interactionLinks)
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
if (source.version !== SCENE_DOCUMENT_VERSION) {
|
if (source.version !== SCENE_DOCUMENT_VERSION) {
|
||||||
throw new Error(`Unsupported scene document version: ${String(source.version)}.`);
|
throw new Error(`Unsupported scene document version: ${String(source.version)}.`);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user