Input Management

Due to our requirement to do all input through an input manager, and most of our input being axial, I found myself missing the utility of the general key abilities. This became an issue on a couple of occasions and I had to write extra code to check if an axis had changed from the last frame. There ended up being a lot of extra fields hanging around that don’t really belong in the class.

After writing the same boiler plate to check an input axis yet again, I decided to write a wrapper class for axial input that mimics the functionality of Input.GetButtonDown and Input.GetButtonUp. This was then placed in an InputManager class and allowed the removal of large amount of code that didn’t belong in the character controller class.