It is common for games to ask the user to select the control mode they prefer, but it is also a good practice to avoid friction as much as possible by not asking what is not necessary.
YASS is only using a virtual joystick and the gamepad controls. There is no need to ask the user which one he or she wants. Both input modes are compatible, especially because the virtual joystick does not display anything on the screen when it is not used. The only thing we need to do is to modify the GameEngine
to support more than one InputController
.
The way to support both input modes at the same time is to create a CompositeInputController
that uses the composition pattern to have both a VirtualJoystickInputController
and a GamepadInputController
, and combines the input from both.
To synchronize the readings from the two input controllers, we are going to use a method on the InputController
called onPreUpdate
, which will be called...