private static void HandleKeyDown(SceneView sceneView)
{
if (Event.current.keyCode == KeyCode.Escape && GUIUtility.hotControl == s_ViewToolID)
{
GUIUtility.hotControl = 0;
ResetDragState();
}
if (Tools.s_LockedViewTool == ViewTool.FPS)
{
Event evt = Event.current;
Vector3 lastMotion = s_Motion;
if (evt.keyCode == ((Event)kFPSForward).keyCode)
{
sceneView.viewIsLockedToObject = false;
s_Motion.z = 1;
evt.Use();
}
else if (evt.keyCode == ((Event)kFPSBack).keyCode)
{
sceneView.viewIsLockedToObject = false;
s_Motion.z = -1;
evt.Use();
}
else if (evt.keyCode == ((Event)kFPSLeft).keyCode)
{
sceneView.viewIsLockedToObject = false;
s_Motion.x = -1;
evt.Use();
}
else if (evt.keyCode == ((Event)kFPSRight).keyCode)
{
sceneView.viewIsLockedToObject = false;
s_Motion.x = 1;
evt.Use();
}
else if (evt.keyCode == ((Event)kFPSUp).keyCode)
{
sceneView.viewIsLockedToObject = false;
s_Motion.y = 1;
evt.Use();
}
else if (evt.keyCode == ((Event)kFPSDown).keyCode)
{
sceneView.viewIsLockedToObject = false;
s_Motion.y = -1;
evt.Use();
}
if (evt.type != EventType.KeyDown && lastMotion.sqrMagnitude == 0)
{
s_FPSTiming.Begin();
}
}
}