// When a child is removed, check to see if it should be removed from the renderer as well protected override void OnChildRemoved(GameObject child, bool result) { base.OnChildRemoved(child, result); // No longer has a parent or siblings if (result) { // If it is a render node, attempt to remove it from the render node list if (child.InheritsFrom<RenderNode>()) { RenderNode renderNode = (child as RenderNode); // For now, as it isn't fully deffered yet DeferredRenderer renderer = (RenderManager.Instance.ActiveRenderer as DeferredRenderer); renderer.RemoveRenderNode(renderNode); } } }