public InputAxis GetAxis( string axisID, InputAxisType axisType = InputAxisType.Mouse ) { InputAxis newAxis = inputAxes.Find( axis => axisID == axis.Name ); if( newAxis == null ) { if( axisType == InputAxisType.Mouse ) newAxis = new MouseInputAxis(); else if( axisType == InputAxisType.Keyboard ) newAxis = new KeyboardInputAxis(); else if( axisType == InputAxisType.PXIe ) newAxis = new PXIeInputAxis(); else if( axisType == InputAxisType.AnkleBot ) newAxis = new AnkleBotInputAxis(); else return null; if( !newAxis.Init( axisID ) ) return null; inputAxes.Add( newAxis ); } return newAxis; }
private void AccumulateMouse() { for (int i = 0; i < 3; i++) { MouseInputAxis m = (i == 0) ? mousePitch : (i == 1) ? mouseYaw : mouseRoll; if (m.mouseAxis != MouseAxes.None) { turn[i] += ( (m.mouseAxis == MouseAxes.MouseX) ? (_lastMouseX - Input.mousePosition.x) : (m.mouseAxis == MouseAxes.MouseY) ? (_lastMouseY - Input.mousePosition.y) : (m.mouseAxis == MouseAxes.ScrollX) ? Input.mouseScrollDelta.x : Input.mouseScrollDelta.y ) * (m.invert ? -m.sensitivity : m.sensitivity); } } _lastMouseX = Input.mousePosition.x; _lastMouseY = Input.mousePosition.y; }