public void Rotate(float headingDegrees, float pitchDegrees, float rollDegrees)
{
headingDegrees = -headingDegrees;
pitchDegrees = -pitchDegrees;
rollDegrees = -rollDegrees;
switch (behavior)
{
case Behavior.FirstPerson:
case Behavior.Spectator:
RotateFirstPerson(headingDegrees, pitchDegrees);
break;
case Behavior.Flight:
RotateFlight(headingDegrees, pitchDegrees, rollDegrees);
break;
case Behavior.Orbit:
RotateOrbit(headingDegrees, pitchDegrees, rollDegrees);
break;
case Behavior.Free:
RotateFlight(headingDegrees, pitchDegrees, rollDegrees);
break;
default:
break;
}
UpdateViewMatrix();
}