// This anonymous callback is called when the player moves the left-stick
currentRegisteredGameplayLeftStickEvent = gameIPB.RegisterLeftStickEvent((x, y, _) => {
switch (currentGameState) {
case OverallGameState.LevelPlaying:
float tiltDeadzone = Config.BoardTiltDeadZone;
float maxAxialTilt = 32767f - tiltDeadzone;
float tiltFractionX = (Math.Abs(x) - tiltDeadzone)) / maxAxialTilt;
float tiltFractionY = (Math.Abs(y) - tiltDeadzone)) / maxAxialTilt;
if (x < -tiltDeadzone) {
TiltGameboard(GameboardTiltDirection.Left, tiltFractionX);
}
else if (x > tiltDeadzone) {
TiltGameboard(GameboardTiltDirection.Right, tiltFractionX);
}
if (y < -tiltDeadzone) {
TiltGameboard(GameboardTiltDirection.Backward, tiltFractionY);
}
else if (y > tiltDeadzone) {
TiltGameboard(GameboardTiltDirection.Forward, tiltFractionY);
}
break;
}
});
Code snippet taken from "Postmortems - Absolutely Wrong".