Manage foliage layer selection and draft state

This commit is contained in:
2026-05-02 04:01:02 +02:00
parent 886a21aa9b
commit db52c7fa5e

View File

@@ -4543,6 +4543,45 @@ export function App({ store, draftStorage = null, initialStatusMessage }: AppPro
setTerrainCellSizeDraft(String(selectedTerrain.cellSize)); setTerrainCellSizeDraft(String(selectedTerrain.cellSize));
}, [selectedTerrain]); }, [selectedTerrain]);
useEffect(() => {
if (foliageLayerList.length === 0) {
if (activeFoliageLayerId !== null) {
setActiveFoliageLayerId(null);
}
return;
}
if (
activeFoliageLayerId === null ||
editorState.document.foliageLayers[activeFoliageLayerId] === undefined
) {
setActiveFoliageLayerId(foliageLayerList[0].id);
}
}, [
activeFoliageLayerId,
editorState.document.foliageLayers,
foliageLayerList
]);
useEffect(() => {
if (activeFoliageLayer === null) {
setFoliageLayerNameDraft("");
setFoliageLayerNumberDrafts(
createFoliageLayerNumberDrafts(
createFoliageLayer({
id: "foliage-layer-draft"
})
)
);
return;
}
setFoliageLayerNameDraft(activeFoliageLayer.name);
setFoliageLayerNumberDrafts(
createFoliageLayerNumberDrafts(activeFoliageLayer)
);
}, [activeFoliageLayer]);
useEffect(() => { useEffect(() => {
const projectTime = editorState.projectDocument.time; const projectTime = editorState.projectDocument.time;