void InternalScheduleRebuild(BSPrimLinkable requestor)
{
DetailLog("{0},BSLinksetCompound.InternalScheduleRebuild,,rebuilding={1},hasChildren={2}", requestor.LocalID,
Rebuilding, HasAnyChildren);
RebuildScheduled = true;
PhysicsScene.PostTaintObject("BSLinksetCompound.ScheduleRebuild", LinksetRoot.LocalID, delegate()
{
if (HasAnyChildren)
{
if (AllPartsComplete)
{
RecomputeLinksetCompound();
}
else
{
DetailLog(
"{0},BSLinksetCompound.InternalScheduleRebuild,,rescheduling because not all children complete",
requestor.LocalID);
InternalScheduleRebuild(requestor);
}
}
RebuildScheduled = false;
});
}