private void ProcessInput(InputMessage.MessageType? messageType)
{
if (messageType == null)
return;
switch (messageType)
{
case InputMessage.MessageType.ControlsCameraModeToggle:
{
var cam = Game.Camera;
var time = Game.Match.GameTime;
cam.SetZoom(1f, true, time);
}
break;
case InputMessage.MessageType.ControlsCameraZoomIn:
{
var cam = Game.Camera;
var time = Game.Match.GameTime;
cam.SetZoom(cam.Zoom * 1.2f, true, time);
}
break;
case InputMessage.MessageType.ControlsCameraZoomOut:
{
var cam = Game.Camera;
var time = Game.Match.GameTime;
cam.SetZoom(cam.Zoom * (1 / 1.2f), true, time);
}
break;
case InputMessage.MessageType.ControlsJump:
TryJump();
break;
case InputMessage.MessageType.ControlsNextWeapon:
if (CanSwitchWeapons)
{
SelectedWeaponIndex = (SelectedWeaponIndex + 1) % AvailableWeapons.Count;
Weapon = AvailableWeapons[SelectedWeaponIndex];
Ball.HoldingWeapon = AvailableWeapons[SelectedWeaponIndex].Icon;
Ball.IsCharging = false;
Ball.ShootCharge = 0f;
}
break;
case InputMessage.MessageType.ControlsPreviousWeapon:
if (CanSwitchWeapons)
{
SelectedWeaponIndex = SelectedWeaponIndex - 1;
if (SelectedWeaponIndex < 0)
SelectedWeaponIndex += AvailableWeapons.Count;
Weapon = AvailableWeapons[SelectedWeaponIndex];
Ball.HoldingWeapon = AvailableWeapons[SelectedWeaponIndex].Icon;
Ball.IsCharging = false;
Ball.ShootCharge = 0f;
}
break;
default:
break;
}
}