Exemplo n.º 1
0
        /// <summary>
        /// Removes all objects from the world and removes all memory cached objects.
        /// </summary>
        public void Clear()
        {
            // remove bodies from collision system
            foreach (RigidBody body in rigidBodies)
            {
                CollisionSystem.RemoveEntity(body);

                if (body.island != null)
                {
                    body.island.ClearLists();
                    body.island = null;
                }

                body.connections.Clear();
                body.arbiters.Clear();
                body.constraints.Clear();

                events.RaiseRemovedRigidBody(body);
            }

            foreach (SoftBody body in softbodies)
            {
                CollisionSystem.RemoveEntity(body);
            }

            // remove bodies from the world
            rigidBodies.Clear();

            // remove constraints
            foreach (Constraint constraint in constraints)
            {
                events.RaiseRemovedConstraint(constraint);
            }
            constraints.Clear();

            softbodies.Clear();

            // remove all islands
            islands.RemoveAll();

            // delete the arbiters
            arbiterMap.Clear();

            ResetResourcePools();
        }
Exemplo n.º 2
0
        public void Clear()
        {
            foreach (var body in rigidBodies)
            {
                CollisionSystem.RemoveEntity(body);

                if (body.island != null)
                {
                    body.island.ClearLists();
                    body.island = null;
                }

                body.connections.Clear();
                body.arbiters.Clear();
                body.constraints.Clear();

                Events.RaiseRemovedRigidBody(body);
            }

            foreach (var body in softbodies)
            {
                CollisionSystem.RemoveEntity(body);
            }

            rigidBodies.Clear();

            foreach (var constraint in constraints)
            {
                Events.RaiseRemovedConstraint(constraint);
            }
            constraints.Clear();
            softbodies.Clear();
            islands.RemoveAll();
            ArbiterMap.Clear();
            ResetResourcePools();
        }