Пример #1
0
        protected virtual void Remove(int contactIndex)
        {
            Contact removing = contacts.Elements[contactIndex];

            contacts.FastRemoveAt(contactIndex);
            OnRemoved(removing);
            unusedContacts.GiveBack(removing);
        }
Пример #2
0
 /// <summary>
 /// Returns a resource to the pool.
 /// </summary>
 /// <param name="list">List to return.</param>
 public static void GiveBack(RawList <Collidable> list)
 {
     if (SubPoolCollidableList == null)
     {
         SubPoolCollidableList = new UnsafeResourcePool <RawList <Collidable> >();
     }
     list.Clear();
     SubPoolCollidableList.GiveBack(list);
 }
Пример #3
0
 /// <summary>
 /// Returns a resource to the pool.
 /// </summary>
 /// <param name="list">List to return.</param>
 public static void GiveBack(RawList <BroadPhaseEntry> list)
 {
     if (SubPoolBroadPhaseEntryList == null)
     {
         SubPoolBroadPhaseEntryList = new UnsafeResourcePool <RawList <BroadPhaseEntry> >();
     }
     list.Clear();
     SubPoolBroadPhaseEntryList.GiveBack(list);
 }
Пример #4
0
 /// <summary>
 /// Returns a resource to the pool.
 /// </summary>
 /// <param name="list">List to return.</param>
 public static void GiveBack(RawList <RayCastResult> list)
 {
     if (SubPoolRayCastResultList == null)
     {
         SubPoolRayCastResultList = new UnsafeResourcePool <RawList <RayCastResult> >();
     }
     list.Clear();
     SubPoolRayCastResultList.GiveBack(list);
 }
Пример #5
0
 /// <summary>
 /// Returns a resource to the pool.
 /// </summary>
 /// <param name="connection">Connection to return.</param>
 public static void GiveBack(SimulationIslandConnection connection)
 {
     if (SimulationIslandConnections == null)
     {
         SimulationIslandConnections = new UnsafeResourcePool <SimulationIslandConnection>();
     }
     connection.CleanUp();
     SimulationIslandConnections.GiveBack(connection);
 }
Пример #6
0
 /// <summary>
 /// Returns a resource to the pool.
 /// </summary>
 /// <param name="triangle">Triangle collidable to return.</param>
 public static void GiveBack(TriangleCollidable triangle)
 {
     if (SubPoolTriangleCollidables == null)
     {
         SubPoolTriangleCollidables = new UnsafeResourcePool <TriangleCollidable>();
     }
     triangle.CleanUp();
     SubPoolTriangleCollidables.GiveBack(triangle);
 }
Пример #7
0
 /// <summary>
 /// Returns a resource to the pool.
 /// </summary>
 /// <param name="list">List to return.</param>
 public static void GiveBack(RawList <Entity> list)
 {
     if (SubPoolEntityRawList == null)
     {
         SubPoolEntityRawList = new UnsafeResourcePool <RawList <Entity> >();
     }
     list.Clear();
     SubPoolEntityRawList.GiveBack(list);
 }
Пример #8
0
 /// <summary>
 /// Returns a resource to the pool.
 /// </summary>
 /// <param name="list">List to return.</param>
 public static void GiveBack(RawList <CompoundChild> list)
 {
     if (SubPoolCompoundChildList == null)
     {
         SubPoolCompoundChildList = new UnsafeResourcePool <RawList <CompoundChild> >();
     }
     list.Clear();
     SubPoolCompoundChildList.GiveBack(list);
 }
Пример #9
0
 /// <summary>
 /// Returns a resource to the pool.
 /// </summary>
 /// <param name="triangle">Triangle to return.</param>
 public static void GiveBack(TriangleShape triangle)
 {
     if (SubPoolTriangleShape == null)
     {
         SubPoolTriangleShape = new UnsafeResourcePool <TriangleShape>();
     }
     triangle.collisionMargin = 0;
     triangle.sidedness       = TriangleSidedness.DoubleSided;
     SubPoolTriangleShape.GiveBack(triangle);
 }
Пример #10
0
 void GiveBackIsland(SimulationIsland island)
 {
     island.CleanUp();
     islandPool.GiveBack(island);
 }