Ejemplo n.º 1
0
 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;
                 }
             }
         }
     }
 }
Ejemplo n.º 2
0
 /// <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;
 }
Ejemplo n.º 3
0
        /// <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;
        }
Ejemplo n.º 4
0
        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;
        }
Ejemplo n.º 5
0
        /// <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));
            };
        }
Ejemplo n.º 6
0
        /// <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));
            };
        }
Ejemplo n.º 7
0
        /// <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));
            };
        }
Ejemplo n.º 8
0
 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);
            };
        }
Ejemplo n.º 11
0
		/// <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);
			};
		}