Example #1
0
 public static void RemoveBody(JRigidbody body)
 {
     lock (BodyPoolToRemove)
     {
         if (!BodyPoolToRemove.Contains(body))
         {
             BodyPoolToRemove.Add(body);
         }
     }
     lock (Bodies) if (!Bodies.ContainsValue(body))
         {
             Bodies.Remove(body.Body);
         }
 }
Example #2
0
 void RemoveBodies()
 {
     lock (BodyPoolToRemove)
     {
         var count = BodyPoolToRemove.Count;
         if (count == 0)
         {
             return;
         }
         for (var i = 0; i < count; i++)
         {
             var b = BodyPoolToRemove[i];
             World.RemoveBody(b.Body);
             World.Events.PostStep -= b.TransformUpdate;
         }
         BodyPoolToRemove.Clear();
     }
 }