Support foliage layers in project scene creation and validate layer enabled status
This commit is contained in:
@@ -270,7 +270,12 @@ export function createEmptyProjectScene(
|
|||||||
overrides: Partial<
|
overrides: Partial<
|
||||||
Pick<
|
Pick<
|
||||||
ProjectScene,
|
ProjectScene,
|
||||||
"id" | "name" | "loadingScreen" | "editorPreferences" | "world"
|
| "id"
|
||||||
|
| "name"
|
||||||
|
| "loadingScreen"
|
||||||
|
| "editorPreferences"
|
||||||
|
| "world"
|
||||||
|
| "foliageLayers"
|
||||||
>
|
>
|
||||||
> = {}
|
> = {}
|
||||||
): ProjectScene {
|
): ProjectScene {
|
||||||
@@ -286,7 +291,7 @@ export function createEmptyProjectScene(
|
|||||||
world: overrides.world ?? createDefaultWorldSettings(),
|
world: overrides.world ?? createDefaultWorldSettings(),
|
||||||
brushes: {},
|
brushes: {},
|
||||||
terrains: {},
|
terrains: {},
|
||||||
foliageLayers: createEmptyFoliageLayerRegistry(),
|
foliageLayers: overrides.foliageLayers ?? createEmptyFoliageLayerRegistry(),
|
||||||
paths: {},
|
paths: {},
|
||||||
modelInstances: {},
|
modelInstances: {},
|
||||||
entities: {},
|
entities: {},
|
||||||
|
|||||||
@@ -318,6 +318,10 @@ export function cloneFoliageLayer(layer: FoliageLayer): FoliageLayer {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (typeof layer.enabled !== "boolean") {
|
||||||
|
throw new Error("Foliage layer enabled must be a boolean.");
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
id: normalizeNonEmptyString(layer.id, "Foliage layer id"),
|
id: normalizeNonEmptyString(layer.id, "Foliage layer id"),
|
||||||
name: normalizeNonEmptyString(layer.name, "Foliage layer name"),
|
name: normalizeNonEmptyString(layer.name, "Foliage layer name"),
|
||||||
|
|||||||
Reference in New Issue
Block a user