Added missing function for recursively scanning child objects

This commit is contained in:
Obique
2020-07-10 23:26:59 -04:00
parent c7c8010613
commit 6ed409ab9b

View File

@@ -73,6 +73,7 @@ import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArraySet;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -477,6 +478,17 @@ public abstract class SWGObject extends BaselineObject implements Comparable<SWG
return combined;
}
public void runOnChildObjectsRecursively(Consumer<SWGObject> op) {
for (SWGObject obj : getContainedObjects()) {
op.accept(obj);
obj.runOnChildObjectsRecursively(op);
}
for (SWGObject obj : getSlottedObjects()) {
op.accept(obj);
obj.runOnChildObjectsRecursively(op);
}
}
public void setSlots(@NotNull Collection<String> slots) {
this.slotsAvailable.clear();
for (String slot : slots)