public bool GetMouseState(out DxI.MouseState state) { try { m_mouse.Poll(); state = m_mouse.CurrentMouseState; return true; } catch { try { AcquireMouse(); m_mouse.Poll(); state = m_mouse.CurrentMouseState; return true; } catch { } } state = default(DxI.MouseState); return false; }
public bool GetJoyState(out DxI.JoystickState joyState) { try { m_joy.Poll(); joyState = m_joy.CurrentJoystickState; return true; } catch { try { AcquireJoy(); m_joy.Poll(); joyState = m_joy.CurrentJoystickState; return true; } catch { } } joyState = default(DxI.JoystickState); return false; }
public KeyboardEventHandler(DxI.Key key, List<InputEvent> futureEvents) : base(futureEvents) { m_key = key; }
public void SetAndFirePressedKeys(DxI.Key[] keys, bool fCreateEvents) { if (fCreateEvents) { foreach (DxI.Key key in keys) { if (!m_pressedKeys.Contains(key)) { eventManager.FireKeyDownEvent(InputKey.Make(key)); } } } m_pressedKeys.Clear(); foreach (DxI.Key key in keys) m_pressedKeys.Add(key); }
public void SetAndFireJoyButtons(DxI.JoystickState joyState, bool fCreateEvents) { this.m_currentJoyState = joyState; Byte[] joyButtons = joyState.GetButtons(); List<Joystick.Button> buttons = new List<Joystick.Button>(6); for (int i = 0; i < joyButtons.Length; i++) { if (joyButtons[i] != 0) { buttons.Add((Joystick.Button)i); } } int[] joyHat = joyState.GetPointOfView(); switch (joyHat[0]) { case 0: buttons.Add(Joystick.Button.PovUp); break; case 4500: buttons.Add(Joystick.Button.PovUp); buttons.Add(Joystick.Button.PovRight); break; case 9000: buttons.Add(Joystick.Button.PovRight); break; case 13500: buttons.Add(Joystick.Button.PovRight); buttons.Add(Joystick.Button.PovDown); break; case 18000: buttons.Add(Joystick.Button.PovDown); break; case 22500: buttons.Add(Joystick.Button.PovDown); buttons.Add(Joystick.Button.PovLeft); break; case 27000: buttons.Add(Joystick.Button.PovLeft); break; case 31500: buttons.Add(Joystick.Button.PovLeft); buttons.Add(Joystick.Button.PovUp); break; } if (fCreateEvents) { foreach (Joystick.Button button in buttons) { if (!m_pressedJoyButtons.Contains(button)) { eventManager.FireKeyDownEvent(InputKey.Make(button)); } } } m_pressedJoyButtons = buttons; }
public bool KeyUp(DxI.Key button) { if (m_pressedKeys.Contains(button)) { m_pressedKeys.Remove(button); return true; } return false; }
public bool KeyDown(DxI.Key button, bool fCreateEvents) { if (!m_pressedKeys.Contains(button)) { m_pressedKeys.Add(button); if (fCreateEvents) { eventManager.FireKeyDownEvent(new InputKey<DxI.Key>(button)); } return true; } return false; }
public bool IsKeyDown(DxI.Key key) { return m_pressedKeys.Contains(key); }
public void SetAndFirePressedButtons(DxI.MouseState mouseState, bool fCreateEvents) { Byte[] mouseButtons = mouseState.GetMouseButtons(); List<Mouse.Button> buttons = new List<Mouse.Button>(6); for( int i=0;i < mouseButtons.Length;i++) { if( mouseButtons[i] != 0 ) { buttons.Add((Mouse.Button)i); } } if (fCreateEvents) { if (mouseState.Z > 0) { eventManager.FireKeyDownEvent(InputKey.Make(Mouse.Button.MWheelUp)); } if (mouseState.Z < 0) { eventManager.FireKeyDownEvent(InputKey.Make(Mouse.Button.MWheelDown)); } } if (fCreateEvents) { foreach (Mouse.Button button in buttons) { if(!m_pressedMouseButtons.Contains(button)) { eventManager.FireKeyDownEvent(InputKey.Make(button)); } } } m_pressedMouseButtons = buttons; }