Custom Controllers for GameControl system

I've decided to write some additional features into jME for convenient use of the GameControl system.  I just finished writing ThrottleController that allows you to specify two GameControls, max forward and reverse thrusts, a spatial, and a multiplier and you could simply add it to your scene and get all the benefits of a nice smooth throttle control system.  I'm now starting to work on the rotational controllers.  I think this method will be much more convenient than dealing with InputHandlers for this sort of thing as it provides a great deal more customization features at instantiation without having to subclass anything.

If no one likes this idea or think it just doesn't belong in jME I'm happy to remove it, I just thought others might benefit from this effort.

I just added ThrottleController and RotationController to the repository.

At the risk of being beaten for adding too much junk to jME I've created the rest of the GameControl controllers I could think possibly necessary for any game. This will hopefully allow a much more simplified approach to managing controls in a game. To sum up, here is the list of controllers I've created now:

  • ThrottleController
  • - Manages progressively increasing/decreasing to max and min values and applying to a Spatial's Axis.
  • RotationController
  • - Manages rotation of a Spatial on an Axis.
  • ActionChangeController - When the value of the GameControl changes

  • ActionController - Throws an event for pressed and released

  • ActionRepeatController - Specify a maximum rate of repeat and when the GameControl is pressed it will only repeat within that rate

Also, I've applied all new controllers to TestSwingControlEditor.

I've created and added com.jme.input.controls.controller.Axis, but ideally I think it should be used over the entire project eventually...does anyone disagree?