コード例 #1
0
 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;
 }
コード例 #2
0
 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;
 }
コード例 #3
0
 public KeyboardEventHandler(DxI.Key key, List<InputEvent> futureEvents)
     : base(futureEvents)
 {
     m_key = key;
 }
コード例 #4
0
ファイル: InputManager.cs プロジェクト: InfInt/ximtranslator
        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);
        }
コード例 #5
0
ファイル: InputManager.cs プロジェクト: InfInt/ximtranslator
        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;
        }
コード例 #6
0
ファイル: InputManager.cs プロジェクト: InfInt/ximtranslator
 public bool KeyUp(DxI.Key button)
 {
     if (m_pressedKeys.Contains(button))
     {
         m_pressedKeys.Remove(button);
         return true;
     }
     return false;
 }
コード例 #7
0
ファイル: InputManager.cs プロジェクト: InfInt/ximtranslator
 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;
 }
コード例 #8
0
ファイル: InputManager.cs プロジェクト: InfInt/ximtranslator
 public bool IsKeyDown(DxI.Key key)
 {
     return m_pressedKeys.Contains(key);
 }
コード例 #9
-12
ファイル: InputManager.cs プロジェクト: InfInt/ximtranslator
        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;
        }