private void ScanJoystickAxis() { if (!string.IsNullOrEmpty(_cancelScanButton) && GetButtonDown(_cancelScanButton) || _scanTimeout <= 0.0f) { StopScan(); } else { int scanStart = _joystickToScan * AxisConfiguration.MaxJoystickAxes; for (int i = 0; i < AxisConfiguration.MaxJoystickAxes; i++) { if (Mathf.Abs(Input.GetAxisRaw(_rawJoystickAxes[scanStart + i])) >= 1.0f) { if (_axisScanHandler(i, _optionalParameters)) { _axisScanHandler = null; _scanTimeout = 0.0f; _scanType = ScanType.None; break; } } } } }
/// <summary> /// Scans for mouse input and calls the handler with the result. /// Returns -1 if timeout is reached. /// </summary> public static void StartMouseAxisScan(AxisScanHandler scanHandler, float timeout, string cancelScanButton, params object[] optional) { _instance._scanTimeout = timeout; _instance._cancelScanButton = cancelScanButton; _instance._optionalParameters = optional; _instance._scanType = ScanType.MouseAxis; _instance._axisScanHandler = scanHandler; }
/// <summary> /// Scans for joystick input and calls the handler with the result. /// Returns -1 if timeout is reached. /// </summary> public static void StartJoystickAxisScan(AxisScanHandler scanHandler, int joystick, float timeout, string cancelScanButton, params object[] optional) { if (joystick < 0 || joystick >= AxisConfiguration.MaxJoystickAxes) { throw new ArgumentOutOfRangeException("joystick"); } _instance._scanTimeout = timeout; _instance._joystickToScan = joystick; _instance._cancelScanButton = cancelScanButton; _instance._optionalParameters = optional; _instance._scanType = ScanType.JoystickAxis; _instance._axisScanHandler = scanHandler; }
private void StopScan() { if (_scanType == ScanType.Key) { _keyScanHandler(KeyCode.None, _optionalParameters); } else if (_scanType == ScanType.MouseAxis || _scanType == ScanType.JoystickAxis) { _axisScanHandler(-1, _optionalParameters); } _scanType = ScanType.None; _axisScanHandler = null; _keyScanHandler = null; }
/// <summary> /// Scans for mouse input and calls the handler with the result. /// Returns -1 if timeout is reached or the scan is canceled. /// </summary> public static void StartMouseAxisScan(AxisScanHandler scanHandler, float timeout, string cancelScanButton, params object[] userData) { if (_instance._scanFlags != ScanFlags.None) { _instance.StopInputScan(); } _instance._scanTimeout = timeout; _instance._scanFlags = ScanFlags.MouseAxis; _instance._scanStartTime = _instance.ignoreTimescale ? Time.realtimeSinceStartup : Time.time; _instance._cancelScanButton = cancelScanButton; _instance._scanUserData = userData; _instance._scanHandler = (result) => { return(scanHandler(result.mouseAxis, (object[])result.userData)); }; }
/// <summary> /// Scans for joystick input and calls the handler with the result. /// Returns -1 if timeout is reached or the scan is canceled. /// </summary> public static void StartJoystickAxisScan(AxisScanHandler scanHandler, int joystick, float timeout, string cancelScanButton, params object[] userData) { if (joystick < 0 || joystick >= AxisConfiguration.MaxJoystickAxes) { throw new ArgumentOutOfRangeException("joystick"); } if (_instance._scanFlags != ScanFlags.None) { _instance.StopInputScan(); } _instance._scanTimeout = timeout; _instance._scanFlags = ScanFlags.JoystickAxis; _instance._scanStartTime = _instance.ignoreTimescale ? Time.realtimeSinceStartup : Time.time; _instance._cancelScanButton = cancelScanButton; _instance._scanJoystick = joystick; _instance._scanUserData = userData; _instance._scanHandler = (result) => { return(scanHandler(result.mouseAxis, (object[])result.userData)); }; }
/// <summary> /// Scans for joystick input and calls the handler with the result. /// Returns -1 if timeout is reached or the scan is canceled. /// </summary> public static void StartJoystickAxisScan(AxisScanHandler scanHandler, int joystick, float timeout, string cancelScanButton, params object[] userData) { if (joystick < 0 || joystick >= AxisConfiguration.MaxJoystickAxes) { Debug.LogError("Joystick is out of range. Cannot start joystick axis scan."); return; } if (_instance._scanFlags != ScanFlags.None) { _instance.StopInputScan(); } _instance._scanTimeout = timeout; _instance._scanFlags = ScanFlags.JoystickAxis; _instance._scanStartTime = _instance.ignoreTimescale ? Time.realtimeSinceStartup : Time.time; _instance._cancelScanButton = cancelScanButton; _instance._scanJoystick = joystick; _instance._scanUserData = userData; _instance._scanHandler = (result) => { return(scanHandler(result.mouseAxis, (object[])result.userData)); }; }
private void ScanMouseAxis() { if (!string.IsNullOrEmpty(_cancelScanButton) && GetButtonDown(_cancelScanButton) || _scanTimeout <= 0.0f) { StopScan(); } else { for (int i = 0; i < _rawMouseAxes.Length; i++) { if (Mathf.Abs(Input.GetAxis(_rawMouseAxes[i])) > 0.0f) { if (_axisScanHandler(i, _optionalParameters)) { _axisScanHandler = null; _scanType = ScanType.None; break; } } } } }
/// <summary> /// Scans for mouse input and calls the handler with the result. /// Returns -1 if timeout is reached or the scan is canceled. /// </summary> public static void StartMouseAxisScan(AxisScanHandler scanHandler, float timeout, string cancelScanButton, params object[] userData) { if (_instance._scanFlags != ScanFlags.None) _instance.StopInputScan (); _instance._scanTimeout = timeout; _instance._scanFlags = ScanFlags.MouseAxis; _instance._scanStartTime = _instance.ignoreTimescale ? Time.realtimeSinceStartup : Time.time; _instance._cancelScanButton = cancelScanButton; _instance._scanUserData = userData; _instance._scanHandler = (result) => { return scanHandler (result.mouseAxis, (object[])result.userData); }; }
/// <summary> /// Scans for joystick input and calls the handler with the result. /// Returns -1 if timeout is reached or the scan is canceled. /// </summary> public static void StartJoystickAxisScan(AxisScanHandler scanHandler, int joystick, float timeout, string cancelScanButton, params object[] userData) { if (joystick < 0 || joystick >= AxisConfiguration.MaxJoystickAxes) throw new ArgumentOutOfRangeException ("joystick"); if (_instance._scanFlags != ScanFlags.None) _instance.StopInputScan (); _instance._scanTimeout = timeout; _instance._scanFlags = ScanFlags.JoystickAxis; _instance._scanStartTime = _instance.ignoreTimescale ? Time.realtimeSinceStartup : Time.time; _instance._cancelScanButton = cancelScanButton; _instance._scanJoystick = joystick; _instance._scanUserData = userData; _instance._scanHandler = (result) => { return scanHandler (result.mouseAxis, (object[])result.userData); }; }
/// <summary> /// Scans for joystick input and calls the handler with the result. /// Returns -1 if timeout is reached or the scan is canceled. /// </summary> public static void StartJoystickAxisScan(AxisScanHandler scanHandler, int joystick, float timeout, string cancelScanButton, params object[] userData) { if(joystick < 0 || joystick >= AxisConfiguration.MaxJoystickAxes) { Debug.LogError("Joystick is out of range. Cannot start joystick axis scan."); return; } if(_instance._scanFlags != ScanFlags.None) _instance.StopInputScan(); _instance._scanTimeout = timeout; _instance._scanFlags = ScanFlags.JoystickAxis; _instance._scanStartTime = _instance.ignoreTimescale ? Time.realtimeSinceStartup : Time.time; _instance._cancelScanButton = cancelScanButton; _instance._scanJoystick = joystick; _instance._scanUserData = userData; _instance._scanHandler = (result) => { return scanHandler(result.mouseAxis, (object[])result.userData); }; }