protected void UninstantiateNest() { var nester = (IGraphNesterElement)this; var instances = GraphInstances.ChildrenOfPooled(nester); foreach (var instance in instances) { GraphInstances.Uninstantiate(instance); } instances.Free(); }
public virtual void Uninstantiate(GraphReference instance) { // See above comments, in reverse order. if (this is IGraphNesterElement nester && nester.nest.graph != null) { GraphInstances.Uninstantiate(instance.ChildReference(nester, true)); } if (this is IGraphElementWithData withData) { instance.data.FreeElementData(withData); } }