コード例 #1
0
 /// <summary>
 /// Adds a handler for joystick axis input.
 /// </summary>
 public static void AddInputHandler(
     DeviceType dt,
     OVRGamepadController.Axis axis,
     OnKeyDown onDown,
     OnKeyHeld onHeld,
     OnKeyUp onUp)
 {
     keyInfos.Add(new KeyInfo(dt, axis, onDown, onHeld, onUp));
 }
コード例 #2
0
 /// <summary>
 /// Adds a handler for mouse button input.
 /// </summary>
 public static void AddInputHandler(
     DeviceType dt,
     MouseButton mouseButton,
     OnKeyDown onDown,
     OnKeyHeld onHeld,
     OnKeyUp onUp)
 {
     keyInfos.Add(new KeyInfo(dt, mouseButton, onDown, onHeld, onUp));
 }
コード例 #3
0
 /// <summary>
 ///  Adds a handler for key input
 /// </summary>
 public static void AddInputHandler(
     DeviceType dt,
     string keyName,
     OnKeyDown onDown,
     OnKeyHeld onHeld,
     OnKeyUp onUp)
 {
     keyInfos.Add(new KeyInfo(dt, keyName, onDown, onHeld, onUp));
 }
コード例 #4
0
    //======================
    // AddInputHandler
    // Adds a hander for mouse button input
    //======================
    public static void AddInputHandler(eDeviceType dt, eMouseButton mouseButton,
                                       OnKeyDown onDown, OnKeyHeld onHeld, OnKeyUp onUp, int joystickNum = 0, bool exc = false)
    {
        KeyInfo k = new KeyInfo(dt, mouseButton, onDown, onHeld, onUp);

        k.WasDown   = GetMouseButton(mouseButton);
        k.exclusive = exc;

        InputMap[joystickNum].KeyInfos.Add(k);
    }
コード例 #5
0
    //======================
    // AddInputHandler
    // Adds a hander for key input
    //======================
    public static void AddInputHandler(eDeviceType dt, string keyName,
                                       OnKeyDown onDown, OnKeyHeld onHeld, OnKeyUp onUp, int joystickNum = 0, bool exc = false)
    {
        KeyInfo k = new KeyInfo(dt, keyName, onDown, onHeld, onUp);

        k.WasDown   = Input.GetKey(keyName);
        k.exclusive = exc;

        InputMap[joystickNum].KeyInfos.Add(k);
    }
コード例 #6
0
 public void GetKey()
 {
     if (Input.GetKey(_keyCode))
     {
         OnKeyHeld.Invoke(true);
     }
     else
     {
         OnKeyHeld.Invoke(false);
     }
 }
コード例 #7
0
ファイル: KeyPressAdapter.cs プロジェクト: voidALPHA/cgc_viz
        private void SetUpChildSatellites(BoundingBox bound, KeyCode code, VisualPayload payload)
        {
            var newSatellite = bound.gameObject.AddComponent <KeyPressSatellite>();

            newSatellite.KeyCode    = code;
            newSatellite.OnKeyDown += () => JobManager.Instance.StartJob(
                OnKeyDown.Transmit(payload), jobName: "Key Down", startImmediately: true,
                maxExecutionsPerFrame: 1);
            newSatellite.OnKeyHeld += () => JobManager.Instance.StartJob(
                OnKeyHeld.Transmit(payload), jobName: "Key Held", startImmediately: true,
                maxExecutionsPerFrame: 1);
            newSatellite.OnKeyUp += () => JobManager.Instance.StartJob(
                OnKeyUp.Transmit(payload), jobName: "Key Up", startImmediately: true,
                maxExecutionsPerFrame: 1);
        }
コード例 #8
0
ファイル: InputControl.cs プロジェクト: iveos/SIG-ET-2015-OR
				// key constructor
				public KeyInfo( eDeviceType inDeviceType, 
						string inKeyName, 
						OnKeyDown inDownHandler, 
						OnKeyHeld inHeldHandler, 
						OnKeyUp inUpHandler ) 
				{
					DeviceType = inDeviceType;
					KeyName = inKeyName;
					MouseButton = eMouseButton.None;
					JoystickButton = OVRGamepadController.Button.None;
					JoystickAxis = OVRGamepadController.Axis.None;
					Threshold = 1000.0f;
					WasDown = false;
					DownHandler = inDownHandler;
					HeldHandler = inHeldHandler;
					UpHandler = inUpHandler;
				}				
コード例 #9
0
    public static void RemoveInputHandlerButton(OnKeyDown onDown, OnKeyHeld onHeld, OnKeyUp onUp, int joystickNum = 0)
    {
        if (InputMap.Count <= joystickNum)
        {
            return;
        }

        for (int i = InputMap[joystickNum].KeyInfos.Count - 1; i >= 0; --i)
        {
            KeyInfo k = InputMap[joystickNum].KeyInfos[i];

            if (k.DownHandler == onDown && k.HeldHandler == onHeld && k.UpHandler == onUp)
            {
                InputMap[joystickNum].KeyInfos.RemoveAt(i);
            }
        }
    }
コード例 #10
0
 // joystick button constructor
 public KeyInfo(eDeviceType inDeviceType,
                Button inJoystickButton,
                OnKeyDown inDownHandler,
                OnKeyHeld inHeldHandler,
                OnKeyUp inUpHandler)
 {
     DeviceType     = inDeviceType;
     KeyName        = ButtonNames[(int)inJoystickButton];
     MouseButton    = eMouseButton.None;
     JoystickButton = inJoystickButton;
     JoystickAxis   = Axis.None;
     Threshold      = 1000.0f;
     WasDown        = false;
     DownHandler    = inDownHandler;
     HeldHandler    = inHeldHandler;
     UpHandler      = inUpHandler;
 }
コード例 #11
0
 // joystick axis constructor
 public KeyInfo(eDeviceType inDeviceType,
                OVRGamepadController.Axis inJoystickAxis,
                OnKeyDown inDownHandler,
                OnKeyHeld inHeldHandler,
                OnKeyUp inUpHandler)
 {
     DeviceType     = inDeviceType;
     KeyName        = OVRGamepadController.AxisNames[(int)inJoystickAxis];
     MouseButton    = eMouseButton.None;
     JoystickButton = OVRGamepadController.Button.None;
     JoystickAxis   = inJoystickAxis;
     Threshold      = 0.5f;
     WasDown        = false;
     DownHandler    = inDownHandler;
     HeldHandler    = inHeldHandler;
     UpHandler      = inUpHandler;
 }
コード例 #12
0
 // mouse button constructor
 public KeyInfo(eDeviceType inDeviceType,
                eMouseButton inMouseButton,
                OnKeyDown inDownHandler,
                OnKeyHeld inHeldHandler,
                OnKeyUp inUpHandler)
 {
     DeviceType     = inDeviceType;
     KeyName        = "Mouse Button " + (int)inMouseButton;
     MouseButton    = inMouseButton;
     JoystickButton = OVRGamepadController.Button.None;
     JoystickAxis   = OVRGamepadController.Axis.None;
     Threshold      = 1000.0f;
     WasDown        = false;
     DownHandler    = inDownHandler;
     HeldHandler    = inHeldHandler;
     UpHandler      = inUpHandler;
 }
コード例 #13
0
 /// <summary>
 /// Joystick axis constructor.
 /// </summary>
 public KeyInfo(
     DeviceType inDeviceType,
     OVRGamepadController.Axis inJoystickAxis,
     OnKeyDown inDownHandler,
     OnKeyHeld inHeldHandler,
     OnKeyUp inUpHandler)
 {
     deviceType     = inDeviceType;
     keyName        = OVRGamepadController.AxisNames[(int)inJoystickAxis];
     mouseButton    = MouseButton.None;
     joystickButton = OVRGamepadController.Button.None;
     joystickAxis   = inJoystickAxis;
     threshold      = 0.5f;
     wasDown        = false;
     downHandler    = inDownHandler;
     heldHandler    = inHeldHandler;
     upHandler      = inUpHandler;
 }
コード例 #14
0
 /// <summary>
 /// Mouse button constructor.
 /// </summary>
 public KeyInfo(
     DeviceType inDeviceType,
     MouseButton inMouseButton,
     OnKeyDown inDownHandler,
     OnKeyHeld inHeldHandler,
     OnKeyUp inUpHandler)
 {
     deviceType     = inDeviceType;
     keyName        = "Mouse Button " + (int)inMouseButton;
     mouseButton    = inMouseButton;
     joystickButton = OVRGamepadController.Button.None;
     joystickAxis   = OVRGamepadController.Axis.None;
     threshold      = 1000.0f;
     wasDown        = false;
     downHandler    = inDownHandler;
     heldHandler    = inHeldHandler;
     upHandler      = inUpHandler;
 }
コード例 #15
0
ファイル: InputControl.cs プロジェクト: xianyinchen/Demos
    //======================
    // AddInputHandler
    // Adds a hander for joystick button input
    //======================
    public static void AddInputHandler( eDeviceType dt, OVRGamepadController.Button joystickButton,
			OnKeyDown onDown, OnKeyHeld onHeld, OnKeyUp onUp )
    {
        KeyInfos.Add( new KeyInfo( dt, joystickButton, onDown, onHeld, onUp ) );
    }
コード例 #16
0
 //======================
 // AddInputHandler
 // Adds a hander for joystick axis input
 //======================
 public static void AddInputHandler(eDeviceType dt, Axis axis,
                                    OnKeyDown onDown, OnKeyHeld onHeld, OnKeyUp onUp, int joystickNum = 0)
 {
     InputMap[joystickNum].KeyInfos.Add(new KeyInfo(dt, axis, onDown, onHeld, onUp));
 }
コード例 #17
0
		/// <summary>
		/// Joystick axis constructor.
		/// </summary>
		public KeyInfo(
				DeviceType inDeviceType,
				OVRGamepadController.Axis inJoystickAxis,
				OnKeyDown inDownHandler,
				OnKeyHeld inHeldHandler,
				OnKeyUp inUpHandler)
		{
			deviceType = inDeviceType;
			keyName = OVRGamepadController.AxisNames[(int)inJoystickAxis];
			mouseButton = MouseButton.None;
			joystickButton = OVRGamepadController.Button.None;
			joystickAxis = inJoystickAxis;
			threshold = 0.5f;
			wasDown = false;
			downHandler = inDownHandler;
			heldHandler = inHeldHandler;
			upHandler = inUpHandler;
		}
コード例 #18
0
	/// <summary>
	/// Adds a handler for mouse button input.
	/// </summary>
	public static void AddInputHandler(
			DeviceType dt,
		   	MouseButton mouseButton,
			OnKeyDown onDown,
			OnKeyHeld onHeld,
		   	OnKeyUp onUp)
	{
		keyInfos.Add(new KeyInfo(dt, mouseButton, onDown, onHeld, onUp));
	}
コード例 #19
0
		/// <summary>
		/// Mouse button constructor.
		/// </summary>
		public KeyInfo(
				DeviceType inDeviceType,
				MouseButton inMouseButton,
				OnKeyDown inDownHandler,
				OnKeyHeld inHeldHandler,
				OnKeyUp inUpHandler)
		{
			deviceType = inDeviceType;
			keyName = "Mouse Button " + (int)inMouseButton;
			mouseButton = inMouseButton;
			joystickButton = OVRGamepadController.Button.None;
			joystickAxis = OVRGamepadController.Axis.None;
			threshold = 1000.0f;
			wasDown = false;
			downHandler = inDownHandler;
			heldHandler = inHeldHandler;
			upHandler = inUpHandler;
		}
コード例 #20
0
ファイル: InputControl.cs プロジェクト: xianyinchen/Demos
        // joystick axis constructor
        public KeyInfo( eDeviceType inDeviceType, 
						OVRGamepadController.Axis inJoystickAxis,
						OnKeyDown inDownHandler, 
						OnKeyHeld inHeldHandler, 
						OnKeyUp inUpHandler )
        {
            DeviceType = inDeviceType;
                    KeyName = OVRGamepadController.AxisNames[(int)inJoystickAxis];
                    MouseButton = eMouseButton.None;
                    JoystickButton = OVRGamepadController.Button.None;
                    JoystickAxis = inJoystickAxis;
                    Threshold = 0.5f;
                    WasDown = false;
                    DownHandler = inDownHandler;
                    HeldHandler = inHeldHandler;
                    UpHandler = inUpHandler;
        }
コード例 #21
0
	/// <summary>
	///  Adds a handler for key input
	/// </summary>
	public static void AddInputHandler(
			DeviceType dt,
			string keyName,
			OnKeyDown onDown,
			OnKeyHeld onHeld,
		   	OnKeyUp onUp)
	{
		keyInfos.Add(new KeyInfo(dt, keyName, onDown, onHeld, onUp));
	}
コード例 #22
0
 //======================
 // AddInputHandler
 // Adds a hander for joystick button input
 //======================
 public static void AddInputHandler(eDeviceType dt, OVRGamepadController.Button joystickButton,
                                    OnKeyDown onDown, OnKeyHeld onHeld, OnKeyUp onUp)
 {
     KeyInfos.Add(new KeyInfo(dt, joystickButton, onDown, onHeld, onUp));
 }
コード例 #23
0
	/// <summary>
	/// Adds a handler for joystick axis input.
	/// </summary>
	public static void AddInputHandler(
			DeviceType dt,
		   	OVRGamepadController.Axis axis,
			OnKeyDown onDown,
		   	OnKeyHeld onHeld,
		   	OnKeyUp onUp)
	{
		keyInfos.Add(new KeyInfo(dt, axis, onDown, onHeld, onUp));
	}
コード例 #24
0
        public void Update()
        {
            //Update keyboard states
            PrevKeyboardState    = CurrentKeyboardState;
            CurrentKeyboardState = Keyboard.GetState();
            //Update mouse states
            PrevMouseState    = CurrentMouseState;
            CurrentMouseState = Mouse.GetState();

            foreach (var key in KeySet)
            {
                var isDown  = CurrentKeyboardState.IsKeyDown(key);
                var wasDown = PrevKeyboardState.IsKeyDown(key);

                if (isDown)//Key is down
                {
                    //Key is currently held
                    OnKeyHeld?.Invoke(this, new KeyEventArgs(key));

                    if (!wasDown)//Key has just been pressed
                    {
                        OnKeyDown?.Invoke(this, new KeyEventArgs(key));
                    }
                }
                else  //Key is not down
                {
                    if (wasDown)//Key has just been released
                    {
                        OnKeyUp?.Invoke(this, new KeyEventArgs(key));
                    }
                }
            }

            foreach (var button in ButtonSet)
            {
                bool isDown  = false;
                bool wasDown = false;

                switch (button)
                {
                case MouseButton.left:
                {
                    isDown  = CurrentMouseState.LeftButton == ButtonState.Pressed;
                    wasDown = PrevMouseState.LeftButton == ButtonState.Pressed;
                }
                break;

                case MouseButton.right:
                {
                    isDown  = CurrentMouseState.RightButton == ButtonState.Pressed;
                    wasDown = PrevMouseState.RightButton == ButtonState.Pressed;
                }
                break;

                default:
                    break;
                }

                if (isDown)//Button is down
                {
                    OnMouseButtonHeld?.Invoke(this, new MouseEventArgs(button, CurrentMouseState));

                    if (!wasDown)//Button has just been pressed
                    {
                        OnMouseButtonDown?.Invoke(this, new MouseEventArgs(button, CurrentMouseState));
                    }
                }
                else
                {                //Button is not down
                    if (wasDown) //Button has just been released
                    {
                        OnMouseButtonUp?.Invoke(this, new MouseEventArgs(button, CurrentMouseState));
                    }
                }
            }
        }