public override void RemovePrim(PhysicsActor prim)
{
if (!m_initialized)
{
return;
}
BSPhysObject bsprim = prim as BSPhysObject;
if (bsprim != null)
{
DetailLog("{0},RemovePrim,call", bsprim.LocalID);
// MainConsole.Instance.DebugFormat("{0}: RemovePrim. id={1}/{2}", LogHeader, bsprim.Name, bsprim.LocalID);
try
{
lock (PhysObjects) PhysObjects.Remove(bsprim.LocalID);
}
catch (Exception e)
{
MainConsole.Instance.ErrorFormat("{0}: Attempt to remove prim that is not in physics scene: {1}",
LogHeader, e);
}
bsprim.Destroy();
// bsprim.dispose();
}
else
{
MainConsole.Instance.ErrorFormat("{0}: Attempt to remove prim that is not a BSPrim type.", LogHeader);
}
}