コード例 #1
0
 /// <summary>
 /// Processes a joystick button event. This event is triggered by
 /// SDL. Only
 /// sprites that are JoystickSensitive are processed.
 /// </summary>
 /// <param name="sender">Object that sent event</param>
 /// <param name="e">Event arguments</param>
 private void Update(object sender, JoystickButtonEventArgs e)
 {
     foreach (Sprite s in this)
     {
         s.Update(e);
     }
 }
コード例 #2
0
        private void Joystick_ButtonDown(object sender, JoystickButtonEventArgs e)
        {
            if (mapping.ButtonDecrement.Contains(e.Button))
            {
                int index = mapping.ButtonDecrement.ToList().IndexOf(e.Button);
                SunflowerWindow.Actors[index].Modulo--;
                buttonIsDown[index]   = -1;
                buttonDownTime[index] = SunflowerWindow.Now;
            }

            if (mapping.ButtonIncrement.Contains(e.Button))
            {
                int index = mapping.ButtonIncrement.ToList().IndexOf(e.Button);
                SunflowerWindow.Actors[index].Modulo++;
                buttonIsDown[index]   = 1;
                buttonDownTime[index] = SunflowerWindow.Now;
            }

            if (mapping.ButtonMode.Contains(e.Button))
            {
                SunflowerWindow.Actors[mapping.ButtonMode.ToList().IndexOf(e.Button)].IsSorted = true;
            }

            //if (mapping.ButtonReset.Contains(e.Button))
            //    SunflowerWindow.Reset();
        }
コード例 #3
0
ファイル: Events.cs プロジェクト: noqisofon/SDL.net
 /// <summary>
 /// Raises the joystick button up event.
 /// </summary>
 /// <param name='ergs'>
 /// Ergs.
 /// </param>
 private static void OnJoystickButtonUp(JoystickButtonEventArgs ergs)
 {
     if (JoystickButtonUp != null)
     {
         JoystickButtonUp(__instance, ergs);
     }
 }
コード例 #4
0
 /// <summary>
 /// Handles the JoyButtonReleased event of the <see cref="GameBase.RenderWindow"/>.
 /// </summary>
 /// <param name="sender">The source of the event.</param>
 /// <param name="e">The <see cref="SFML.Window.JoystickButtonEventArgs"/> instance containing the event data.</param>
 void rw_JoystickButtonReleased(object sender, JoystickButtonEventArgs e)
 {
     if (JoyButtonReleased != null)
     {
         JoyButtonReleased.Raise(this, e);
     }
 }
コード例 #5
0
ファイル: Events.cs プロジェクト: erin100280/Zelda.NET
 static void OnJoystickButtonUp(JoystickButtonEventArgs e)
 {
     if (JoystickButtonUp != null)
     {
         JoystickButtonUp(instance, e);
     }
 }
コード例 #6
0
 private void JoystickButtonEvent(object sender, JoystickButtonEventArgs e)
 {
     if (!e.ButtonPressed && e.Button == 0)
     {
         game.State.DoAction(game.MyPlayerNum, PlayerAction.JoystickButton);
     }
 }
コード例 #7
0
ファイル: Input.cs プロジェクト: anvemaha/worms-csharp
 void OnButtonPressed(object sender, JoystickButtonEventArgs e)
 {
     activeButtons[(int)e.JoystickId][e.Button] = true;
     buttonsPressed[(int)e.JoystickId]++;
     LastButton[(int)e.JoystickId] = (int)e.Button;
     //Console.WriteLine("{0} pressed on joy {1}", e.Button, e.JoystickId);
 }
コード例 #8
0
ファイル: Events.cs プロジェクト: erin100280/Zelda.NET
 static void OnJoystickButtonDown(JoystickButtonEventArgs e)
 {
     if (JoystickButtonDown != null)
     {
         JoystickButtonDown(instance, e);
     }
 }
コード例 #9
0
        private void OnJoyButtonPressed(object sender, JoystickButtonEventArgs e)
        {
            bool fireInterrupt = true;

            switch (e.Button)
            {
            case 0:
                buttonA = 0;
                break;

            case 1:
                buttonB = 0;
                break;

            case 6:
                select = 0;
                break;

            case 7:
                start = 0;
                break;

            default:
                fireInterrupt = false;
                break;
            }

            Interrupts.JoypadIrqReq = fireInterrupt;
        }
コード例 #10
0
ファイル: Controller.cs プロジェクト: Tankooni/shoe-polish
        internal void OnButtonReleased(object s, JoystickButtonEventArgs e)
        {
            var cb = (Button)e.Button;

            _released[cb] = true;
            _down[cb]     = false;
        }
コード例 #11
0
ファイル: Controller.cs プロジェクト: Tankooni/shoe-polish
 public static void OnJoystickPressed(object sender, JoystickButtonEventArgs e)
 {
     if (controllers.ContainsKey(e.JoystickId))
     {
         controllers[e.JoystickId].OnButtonPressed(sender, e);
     }
 }
コード例 #12
0
        private static void GamePadButtonReleased(object sender, JoystickButtonEventArgs e)
        {
            if (bindings.Count(o => o.GamePadButtons.Count > 0) <= 0)
            {
                return;
            }

            for (int bindingIndex = 0; bindingIndex < bindings.Count; bindingIndex++)
            {
                KeyBinding kb = bindings[bindingIndex];

                for (int buttonIndex = 0; buttonIndex < bindings[bindingIndex].Keys.Count; buttonIndex++)
                {
                    uint button = bindings[bindingIndex].GamePadButtons[buttonIndex];

                    if (button == e.Button)
                    {
                        if (kb.IsDown)
                        {
                            kb.IsDown      = false;
                            kb.JustPressed = false;
                        }
                    }
                }

                bindings[bindingIndex] = kb;
            }
        }
コード例 #13
0
 private void RenderWindow_JoystickButtonPressed(object?sender, JoystickButtonEventArgs e)
 {
     this.JoystickButtonPressed(new JoystickButtonPressedEvent()
     {
         JoystickID = e.JoystickId,
         Button     = (JoystickButton)e.Button
     });
 }
コード例 #14
0
 /// <summary>
 /// Handle joystick button releases
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="button"></param>
 public void OnJoystickButtonReleased(object sender, JoystickButtonEventArgs button)
 {
     switch (Convert.ToInt32(button.Button))
     {
     case (int)Controller.Controller.XboxOneButtonMappings.A:
         break;
     }
 }
コード例 #15
0
 public void JoystickButtonPressed(object sender, JoystickButtonEventArgs e)
 {
     if (_globals.DisableUserInput)
     {
         return;
     }
     CurrentScene.OnJoystickButtonPressed((JoystickButton)e.Button);
 }
コード例 #16
0
ファイル: GameWindow.cs プロジェクト: Keverdose/McGameJam2018
        private void GameWindow_JoystickButtonPressed(object sender, JoystickButtonEventArgs e)
        {
            Program.UI.OnControllerButton(e.Button.ToString());

            if (e.Button == 6)
            {
                StateSystem.TryClose();
            }
        }
コード例 #17
0
ファイル: Controller.cs プロジェクト: Tankooni/shoe-polish
        internal void OnButtonPressed(object s, JoystickButtonEventArgs e)
        {
            var cb = (Controller.Button)e.Button;

            if (!_down[cb])
            {
                _pressed[cb] = true;
                _down[cb]    = true;
            }
        }
コード例 #18
0
ファイル: Input.cs プロジェクト: anvemaha/worms-csharp
 void OnButtonReleased(object sender, JoystickButtonEventArgs e)
 {
     if (bufferReleases)
     {
         buttonReleaseBuffer[(int)e.JoystickId].Add(e.Button);
     }
     else
     {
         activeButtons[(int)e.JoystickId][e.Button] = false;
     }
     buttonsPressed[(int)e.JoystickId]--;
 }
コード例 #19
0
        public void JoystickButtonPressed(object joystickButtonEventArgs)
        {
            JoystickButtonEventArgs joystick = (JoystickButtonEventArgs)joystickButtonEventArgs;

            for (int i = 0; i < LastJoystickButtons.Length; i++)
            {
                if (joystick.Button == i)
                {
                    LastJoystickButtons[i] = true;
                }
            }

            Game.EventMgr.Notify(Event.JoystickBtnDown, joystickButtonEventArgs);
        }
コード例 #20
0
ファイル: Menu.cs プロジェクト: kubagdynia/Spacetris
        public void JoystickButtonPressed(RenderWindow target, object sender, JoystickButtonEventArgs arg)
        {
#if DEBUG
            $"Controller ({arg.JoystickId}) Button Pressed: {arg.Button})".Log();
#endif
            // Press A button
            if (arg.Button == 0)
            {
                if (_selectedMenuItem.Item == MenuItemType.Back && _selectedMenuItem.Parent != MenuItemType.None)
                {
                    _selectedMenuItem = _menuItems.SingleOrDefault(c => c.Item == _selectedMenuItem.Parent);
                }
                else if (_selectedMenuItem.FunctionType == MenuItemFunctionType.YesNo)
                {
                    _selectedMenuItem.FunctionObject?.Invoke(!(bool)_selectedMenuItem.FunctionObject(null, null), null);
                }
                else if (_selectedMenuItem.SubMenuItems != null)
                {
#if DEBUG
                    "SUB Menu".Log();
#endif
                    _scoreOffset      = Point2.Zero;
                    _scoreOffsetStep  = 1;
                    _selectedMenuItem = _selectedMenuItem.SubMenuItems.OrderBy(c => c.Position).FirstOrDefault(c => c.Enable && c.FunctionType != MenuItemFunctionType.CustomPage);
                }

                if (_selectedMenuItem != null)
                {
                    PlaySound(_menuSoundSelect);
                    MenuItemSelected?.Invoke(this, _selectedMenuItem.Item);
                }
            }
            // Press B button
            else if (arg.Button == 1)
            {
                MenuItem nextSelectedMenuItem = _selectedMenuItem;

                if (_selectedMenuItem.Parent != MenuItemType.None)
                {
                    nextSelectedMenuItem = _menuItems.SingleOrDefault(c => c.Item == _selectedMenuItem.Parent);
                }

                if (nextSelectedMenuItem != null)
                {
                    PlaySound(_menuSoundBeep);
                    _selectedMenuItem = nextSelectedMenuItem;
                }
            }
        }
コード例 #21
0
        private void Joystick_ButtonUp(object sender, JoystickButtonEventArgs e)
        {
            if (mapping.ButtonDecrement.Contains(e.Button))
            {
                buttonIsDown[mapping.ButtonDecrement.ToList().IndexOf(e.Button)] = 0;
            }

            if (mapping.ButtonIncrement.Contains(e.Button))
            {
                buttonIsDown[mapping.ButtonIncrement.ToList().IndexOf(e.Button)] = 0;
            }

            if (mapping.ButtonMode.Contains(e.Button))
            {
                SunflowerWindow.Actors[mapping.ButtonMode.ToList().IndexOf(e.Button)].IsSorted = false;
            }
        }
コード例 #22
0
ファイル: EmuWin.cs プロジェクト: Pipkinsoft/C64-Emulator
 private void JoystickButtonEvent(object sender, JoystickButtonEventArgs e)
 {
     if (
         (joy1 != null && C64.cia1.Joy1Map == MapType.Joystick1) ||
         (joy2 != null && C64.cia1.Joy1Map == MapType.Joystick2)
         )
     {
         C64.cia1.JoyEvent(1, JoystickFunction.Fire, e.ButtonPressed);
     }
     if (
         (joy1 != null && C64.cia1.Joy2Map == MapType.Joystick1) ||
         (joy2 != null && C64.cia1.Joy2Map == MapType.Joystick2)
         )
     {
         C64.cia1.JoyEvent(2, JoystickFunction.Fire, e.ButtonPressed);
     }
 }
コード例 #23
0
        public void JoystickButtonReleased(object joystickButtonEventArgs)
        {
            JoystickButtonEventArgs joystick = (JoystickButtonEventArgs)joystickButtonEventArgs;

            for (int i = 0; i < LastJoystickButtons.Length; i++)
            {
                if (joystick.Button == i)
                {
                    if (LastJoystickButtons[i])
                    {
                        Game.EventMgr.Notify(Event.JoystickBtnClick, joystickButtonEventArgs);
                    }

                    LastJoystickButtons[i] = false;
                }
            }

            Game.EventMgr.Notify(Event.JoystickBtnUp, joystickButtonEventArgs);
        }
コード例 #24
0
        private void OnJoyButtonReleased(object sender, JoystickButtonEventArgs e)
        {
            switch (e.Button)
            {
            case 0:
                buttonA = 1;
                break;

            case 1:
                buttonB = 1;
                break;

            case 6:
                select = 1;
                break;

            case 7:
                start = 1;
                break;

            default:
                break;
            }
        }
コード例 #25
0
ファイル: Input.cs プロジェクト: Tankooni/shoe-polish
 private static void OnJoystickReleased(object sender, JoystickButtonEventArgs e)
 {
     Controller.OnJoystickReleased(sender, e);
 }
コード例 #26
0
 protected override void JoystickButtonReleased(object sender, JoystickButtonEventArgs arg)
 {
 }
コード例 #27
0
 public JoystickEventArgs(JoystickButtonEventArgs args)
 {
     this.Key = args.Button;
 }
コード例 #28
0
ファイル: SpacetrisGame.cs プロジェクト: kubagdynia/Spacetris
 protected override void JoystickButtonReleased(object sender, JoystickButtonEventArgs arg) => GetGameInput().JoystickButtonReleased(Window, sender, arg);
コード例 #29
0
 protected abstract void JoystickButtonPressed(object sender, JoystickButtonEventArgs arg);
コード例 #30
0
 /// <summary>
 /// Processes a joystick button event. This event is triggered by
 /// SDL. Only
 /// sprites that are JoystickSensitive are processed.
 /// </summary>
 /// <param name="args">Event args</param>
 public virtual void Update(JoystickButtonEventArgs args)
 {
 }