private void ConstructPhysicsSimulator(Vector2 gravity) { geomList = new GeomList(); geomAddList = new List <Geom>(); geomRemoveList = new List <Geom>(); bodyList = new BodyList(); bodyAddList = new List <Body>(); bodyRemoveList = new List <Body>(); controllerList = new ControllerList(); controllerAddList = new List <Controller>(); controllerRemoveList = new List <Controller>(); jointList = new JointList(); jointAddList = new List <Joint>(); jointRemoveList = new List <Joint>(); _broadPhaseCollider = new SelectiveSweepCollider(this); arbiterList = new ArbiterList(); _gravity = gravity; arbiterPool = new Pool <Arbiter>(_arbiterPoolSize); #region Added by Daniel Pramel 08/17/08 _inactivityController = new InactivityController(this); _scaling = new Scaling(0.001f, 0.01f); #endregion }
public override void Initialize() { PhysicsSimulator = new PhysicsSimulator(new Vector2(0, 150)); // This distance has to be big enough to make sure all objects are reactivated // before they could collide with an currently active object // our biggest object is 25*25 -> 120 would be big enough InactivityController controller = new InactivityController(PhysicsSimulator); controller.ActivationDistance = 120; // Deactivate the object after 2 seconds of idle time controller.MaxIdleTime = 2000; controller.Enabled = true; PhysicsSimulator.Add(controller); PhysicsSimulatorView = new PhysicsSimulatorView(PhysicsSimulator); base.Initialize(); }