New core component: PhysicsUpdateAction

Since jme-physics and the rest of your application often runs at different update-rates (all the examples for instance), there needs to be a way of perfoming logic only when the physics updates. This is the purpose of PhysicsUpdateAction.



Basically it lets the user override any number of four mehods with custom logic. Then all you have to do is register it with the PhysicsWorld, through using the addUpdateAction method. See com.jmex.physics.PhysicsUpdateAction and jmextest.physics.effects.AttractorTest.



This also gives a performance-boost both CPU- and memory wise, as PhysicsSynchronizer now extends PhysicsUpdateAction and only runs its calculations when needed. It also maintains a list of objects to keep in sync, instead of having each DynamicPhysicsObject carrying one around as before.