protected static void Disconnect(CollisionHolder2D obj1, CollisionTarget2D obj2) { if (obj1.connection.Contains(obj2) && obj2.connection.Contains(obj1)) { obj1.connection.Remove(obj2); obj2.connection.Remove(obj1); if (obj1.connection.Count == 0) { SimulationManager.Instance.RemoveCollisionObject(obj1); } if (obj2.connection.Count == 0) { SimulationManager.Instance.RemoveCollisionObject(obj2); } if (SimulationManager.Instance.IsDebugOn) { Debug.Log(obj1.name + " try to disconnect with " + obj2.name); } } }
public void RemoveCollisionObject(CollisionHolder2D obj) { bpProcessor.RemoveObject(obj); }
CollisionProcessor npProcessor = new CollisionProcessor(); //narrow phase processor //generic add and remove public void AddCollisionObject(CollisionHolder2D obj) { bpProcessor.AddObject(obj); }