heu...i'm not understand anything....
but do you know why if i apply this perfect code to delete a list in an array (and to found inside a specific layer)
i've got this answer in the listener:
-- Error occurred in anonymous codeblock; filename: ; position: 878; line: 31
-- Compile error: No outer local variable references permitted here: Layers
-- In line: append layers i
LayerToFoundArr = #("Asset1", "Asset2", "Asset3")
mainLayerName = "LayerName"
mainLayer = LayerManager.getLayerFromName mainLayerName
function GetObjectsInLayer layer: =
(
local objsArr
layer.nodes &objsArr
objsArr
)
numChildLayers = mainLayer.getNumChildren()
if numChildLayers != 0 then
(
for i = 1 to numChildLayers do
(
ChildLayersTmp = mainLayer.getChild i
ChildLayersName = ChildLayersTmp.name
for o = 1 to LayerToFoundArr.count do
(
selLayersArr = for o in ChildLayersName where (matchpattern o.name pattern:("*" + LayerToFoundArr + "*")) collect o
if selLayersArr.count != 0 do
(
if layerExplorer != undefined do
(
local objs = #(), layers = #()
mapped fn collectObjs item =
if isKindOf item Base_Layer then
(
append layers item
join objs (refs.dependentNodes item)
items = (for c = 1 to item.getNumChildren() collect (item.getChild c).layerAsRefTarg)
collectObjs items
)
else append objs item
collectObjs (layerExplorer.SelectedItems())
delete objs
for layer in layers where layer.canDelete() do LayerManager.deleteLayerByName layer.name
)
)
)
)
)