Example #1
0
 /// <summary>
 /// JoyButton with higher priority put in lower index, to ensure high priority button
 /// get processed first.
 /// </summary>
 /// <param name="jBs"></param>
 private void SortJoyButtonsByPriority(JoyButton[] jBs)
 {
     IList<JoyButton> tempList = new List<JoyButton>();
     foreach (JoyButton jb in jBs)
     {
         if (tempList.Count == 0)
         {
             tempList.Add(jb);
         }
         else
         {
             bool jbInserted = false;
             for (int i = 0; i < tempList.Count; i++)
             {
                 JoyButton _queuedJb = tempList[i];
                 //Always put the higher priority JoyButton ahead
                 if (_queuedJb.Priority < jb.Priority)
                 {
                     tempList.Insert(i, jb);
                     jbInserted = true;
                     break;
                 }
             }
             if(jbInserted == false)
                 tempList.Add(jb);
         }
     }
     joyButtons = new JoyButton[tempList.Count];
     tempList.CopyTo(joyButtons, 0);
 }
Example #2
0
 public Joypad(InputManager manager)
 {
     _buttons = new JoyButton[8];
     for (var i = 0; i < 8; i++)
     {
         _buttons[i] = new JoyButton(manager);
     }
 }
Example #3
0
        // Methods.
        public void Initialize()
        {
            const Byte gameOffset = 100;

            GameState = new GameState();
            Vector2   statePosn = new Vector2(5, 4 + Constants.GameOffsetY);
            Rectangle stateColl = new Rectangle(0, +Constants.GameOffsetY, gameOffset, gameOffset);

            GameState.Initialize(statePosn, stateColl);

            GameSound = new GameSound();
            Vector2   soundPosn = new Vector2(725, 4 + Constants.GameOffsetY);
            Rectangle soundColl = new Rectangle(Constants.ScreenWide - gameOffset, 0 + Constants.GameOffsetY, gameOffset, gameOffset);

            GameSound.Initialize(soundPosn, soundColl);


            // Joystick controller.
            JoypadMove = new JoypadMove();
            Vector2   jpPos  = new Vector2(20, 300 + Constants.GameOffsetY);
            Rectangle jpColl = new Rectangle(-100, 180 + Constants.GameOffsetY, 400, 400);
            Rectangle jpBndl = new Rectangle(0, 280 + Constants.GameOffsetY, 200, 200);

            JoypadMove.Initialize(jpPos, jpColl, jpBndl);

            // Joystick fire button.
            const Byte fireOffsetX = Constants.FIRE_OFFSET_X;
            const Byte fireOffsetY = Constants.FIRE_OFFSET_Y;

            JoyButton = new JoyButton();
            const Byte textSize = Constants.TextsSize;
            const Byte baseSize = Constants.BaseSize;
            Vector2    firePosn = new Vector2(Constants.ScreenWide - baseSize - (2 * textSize), Constants.ScreenHigh - Constants.GameOffsetY - baseSize - (1 * textSize));
            Rectangle  fireColl = new Rectangle(Constants.ScreenWide - fireOffsetX, Constants.ScreenHigh - Constants.GameOffsetY - fireOffsetY, fireOffsetX, fireOffsetY);

            JoyButton.Initialize(firePosn, fireColl);
        }
Example #4
0
    // Use this for initialization
    void Start()
    {
        anim          = GetComponent <Animator>();
        myRigidBody   = GetComponent <Rigidbody2D>();
        theSFXManager = FindObjectOfType <SFXManager>();
        thePHM        = FindObjectOfType <PlayerHealthManager>();
        thePSP        = FindObjectOfType <PlayerStartPoint>();
        joystick      = FindObjectOfType <Joystick>();
        joybutton     = FindObjectOfType <JoyButton>();

        if (!playerExists)
        {
            playerExists = true;
            DontDestroyOnLoad(transform.gameObject); // Won't destroy player when switching scenes
        }
        else
        {
            Destroy(gameObject);
        }

        canMove = true;

        lastMove = new Vector2(0, -1f); // Beginning of game, player faces down
    }
Example #5
0
 public void setButton(int arrayoffset, int buttonid, buttonfunction butfunction, string mode1)
 {
     JoyButtons[arrayoffset] = new JoyButton()
     {
         buttonno = buttonid,
         function = butfunction,
         mode = mode1
     };
 }
Example #6
0
        void ProcessButtonEvent(JoyButton but, bool buttondown)
        {
            if (but.buttonno != -1)
            {
                // only do_set_relay uses the button up option
                if (buttondown == false)
                 if (but.function != buttonfunction.Do_Set_Relay)
                    return;

                switch (but.function)
                {
                    case buttonfunction.ChangeMode:
                        string mode = but.mode;
                        if (mode != null)
                        {
                            MainV2.instance.BeginInvoke((System.Windows.Forms.MethodInvoker)delegate()
                            {
                                try
                                {
                                    MainV2.comPort.setMode(mode);
                                }
                                catch { CustomMessageBox.Show("Failed to change Modes"); }
                            });
                        }
                        break;
                    case buttonfunction.Arm:
                        MainV2.instance.BeginInvoke((System.Windows.Forms.MethodInvoker)delegate()
                            {
                                try
                                {
                                    MainV2.comPort.doARM(true);
                                }
                                catch { CustomMessageBox.Show("Failed to Arm"); }
                            });
                        break;
                    case buttonfunction.Disarm:
                        MainV2.instance.BeginInvoke((System.Windows.Forms.MethodInvoker)delegate()
                            {
                                try
                                {
                                    MainV2.comPort.doARM(false);
                                }
                                catch { CustomMessageBox.Show("Failed to Disarm"); }
                            });
                        break;
                    case buttonfunction.Do_Set_Relay:
                        MainV2.instance.BeginInvoke((System.Windows.Forms.MethodInvoker)delegate()
                         {
                             try
                             {
                                 int number = (int)but.p1;
                                 int state = buttondown == true ? 1 : 0;
                                 MainV2.comPort.doCommand(MAVLink.MAV_CMD.DO_SET_RELAY, number, state, 0, 0, 0, 0, 0);
                             }
                             catch { CustomMessageBox.Show("Failed to DO_SET_RELAY"); }
                         });
                        break;
                    case buttonfunction.Digicam_Control:
                        MainV2.comPort.setDigicamControl(true);
                        break;
                    case buttonfunction.Do_Repeat_Relay:
                        MainV2.instance.BeginInvoke((System.Windows.Forms.MethodInvoker)delegate()
                            {
                                try
                                {
                                    int relaynumber = (int)but.p1;
                                    int repeat = (int)but.p2;
                                    int time = (int)but.p3;
                                    MainV2.comPort.doCommand(MAVLink.MAV_CMD.DO_REPEAT_RELAY, relaynumber, repeat, time, 0, 0, 0, 0);
                                }
                                catch { CustomMessageBox.Show("Failed to DO_REPEAT_RELAY"); }
                            });
                        break;
                    case buttonfunction.Do_Set_Servo:
                        MainV2.instance.BeginInvoke((System.Windows.Forms.MethodInvoker)delegate()
                           {
                               try
                               {
                                   int channel = (int)but.p1;
                                   int pwm = (int)but.p2;
                                   MainV2.comPort.doCommand(MAVLink.MAV_CMD.DO_SET_SERVO, channel, pwm, 0, 0, 0, 0, 0);
                               }
                               catch { CustomMessageBox.Show("Failed to DO_SET_SERVO"); }
                           });
                        break;
                    case buttonfunction.Do_Repeat_Servo:
                        MainV2.instance.BeginInvoke((System.Windows.Forms.MethodInvoker)delegate()
                           {
                               try
                               {
                                   int channelno = (int)but.p1;
                                   int pwmvalue = (int)but.p2;
                                   int repeattime = (int)but.p3;
                                   int delay_ms = (int)but.p4;
                                   MainV2.comPort.doCommand(MAVLink.MAV_CMD.DO_REPEAT_SERVO, channelno, pwmvalue, repeattime, delay_ms, 0, 0, 0);
                               }
                               catch { CustomMessageBox.Show("Failed to DO_REPEAT_SERVO"); }
                           });
                        break;
                }
            }
        }
Example #7
0
 void Start()
 {
     joystick  = FindObjectOfType <Joystick>();
     joybutton = FindObjectOfType <JoyButton>();
     rb        = GetComponent <Rigidbody>();
 }
Example #8
0
 private void Awake()
 {
     //bad way to implement. only for tests
     joyButtonBurp    = FindObjectOfType <JoyButton>();
     isJoystickEnable = joyButtonBurp && joyButtonBurp.gameObject.activeInHierarchy;
 }
Example #9
0
 public void SetInputButton(JoyButton jb)
 {
     joybutton = jb;
 }
Example #10
0
 // Start is called before the first frame update
 void Start()
 {
     joystick  = GameObject.FindGameObjectWithTag("JoystickTag").GetComponent <Joystick>();
     joyButton = FindObjectOfType <JoyButton>();
 }
        /// <summary>
        /// Button press check with debounce
        /// </summary>
        /// <param name="buttonno"></param>
        /// <returns></returns>
        bool getButtonState(JoyButton but, int buttonno)
        {
            byte[] buts = state.GetButtons();

            // button down
            bool ans = buts[buttonno] > 0 && buttonpressed[buttonno] == 0; // press check + debounce
            if (ans)
                ButtonDown(but);

            // button up
            ans = buts[buttonno] == 0 && buttonpressed[buttonno] > 0;
            if (ans)
                ButtonUp(but);

            buttonpressed[buttonno] = buts[buttonno]; // set only this button

            return ans;
        }
Example #12
0
 void Start()
 {
     joystick  = FindObjectOfType <Joystick>();
     joyButton = FindObjectOfType <JoyButton>();
     PlayerPrefs.SetInt("currentScore", 0);
 }
Example #13
0
 public void DrawControls()
 {
     JoypadMove.Draw();
     JoyButton.Draw();
 }
 public void setButton(int arrayoffset, JoyButton buttonconfig)
 {
     JoyButtons[arrayoffset] = buttonconfig;
 }
 // Start is called before the first frame update
 void Start()
 {
     joystick  = FindObjectOfType <Joystick>();
     joybutton = FindObjectOfType <JoyButton>();
     JumpCount = MaxJumps;
 }
Example #16
0
 public int GetKeyCodeOffset(JoyButton j)
 {
     return GetKeyCodeOffset((int)j);
 }
Example #17
0
 public string GetButtonName(JoyButton j)
 {
     return GetButtonName( (int) j );
 }
Example #18
0
 // Use this for initialization
 void Start()
 {
     joystick  = FindObjectOfType <Joystick>();
     joybutton = FindObjectOfType <JoyButton>();
 }
 void ButtonUp(JoyButton but)
 {
     ProcessButtonEvent(but, false);
 }
Example #20
0
    //Enemy kill count needs to start 0 instead of 1

    // Use this for initialization
    void Start()
    {
        joybutton          = FindObjectOfType <JoyButton>();
        thePlayerStats     = FindObjectOfType <PlayerStats>();
        theDialogueManager = FindObjectOfType <DialogueManager>();
    }
Example #21
0
 public void UpdateFireIcon(Byte index)
 {
     JoyButton.UpdateIcon(index);
 }
        void ProcessButtonEvent(JoyButton but, bool buttondown)
        {
            if (but.buttonno != -1)
            {
                // only do_set_relay uses the button up option
                if (buttondown == false)
                 if (but.function != buttonfunction.Do_Set_Relay)
                    return;

                switch (but.function)
                {
                    case buttonfunction.ChangeMode:
                        string mode = but.mode;
                        if (mode != null)
                        {
                            MainV2.instance.BeginInvoke((System.Windows.Forms.MethodInvoker)delegate()
                            {
                                try
                                {
                                    MainV2.comPort.setMode(mode);
                                }
                                catch { CustomMessageBox.Show("Failed to change Modes"); }
                            });
                        }
                        break;
                    case buttonfunction.Mount_Mode:
                        
                            MainV2.instance.BeginInvoke((System.Windows.Forms.MethodInvoker)delegate()
                            {
                                try
                                {
                                    MainV2.comPort.setParam("MNT_MODE", but.p1);
                                }
                                catch { CustomMessageBox.Show("Failed to change mount mode"); }
                            });
                        
                        break;
                        
                    case buttonfunction.Arm:
                        MainV2.instance.BeginInvoke((System.Windows.Forms.MethodInvoker)delegate()
                            {
                                try
                                {
                                    MainV2.comPort.doARM(true);
                                }
                                catch { CustomMessageBox.Show("Failed to Arm"); }
                            });
                        break;
                    case buttonfunction.TakeOff:
                        MainV2.instance.BeginInvoke((System.Windows.Forms.MethodInvoker)delegate()
                        {
                            try
                            {
                                MainV2.comPort.setMode("Guided");
                                if (MainV2.comPort.MAV.cs.firmware == MainV2.Firmwares.ArduCopter2) {
                                    MainV2.comPort.doCommand(MAVLink.MAV_CMD.TAKEOFF, 0, 0, 0, 0, 0, 0, 2);
                                }
                                else
                                {
                                    MainV2.comPort.doCommand(MAVLink.MAV_CMD.TAKEOFF, 0, 0, 0, 0, 0, 0, 20);
                                }
                            }
                            catch { CustomMessageBox.Show("Failed to takeoff"); }
                        });
                        break;
                    case buttonfunction.Disarm:
                        MainV2.instance.BeginInvoke((System.Windows.Forms.MethodInvoker)delegate()
                            {
                                try
                                {
                                    MainV2.comPort.doARM(false);
                                }
                                catch { CustomMessageBox.Show("Failed to Disarm"); }
                            });
                        break;
                    case buttonfunction.Do_Set_Relay:
                        MainV2.instance.BeginInvoke((System.Windows.Forms.MethodInvoker)delegate()
                         {
                             try
                             {
                                 int number = (int)but.p1;
                                 int state = buttondown == true ? 1 : 0;
                                 MainV2.comPort.doCommand(MAVLink.MAV_CMD.DO_SET_RELAY, number, state, 0, 0, 0, 0, 0);
                             }
                             catch { CustomMessageBox.Show("Failed to DO_SET_RELAY"); }
                         });
                        break;
                    case buttonfunction.Digicam_Control:
                        MainV2.comPort.setDigicamControl(true);
                        break;
                    case buttonfunction.Do_Repeat_Relay:
                        MainV2.instance.BeginInvoke((System.Windows.Forms.MethodInvoker)delegate()
                            {
                                try
                                {
                                    int relaynumber = (int)but.p1;
                                    int repeat = (int)but.p2;
                                    int time = (int)but.p3;
                                    MainV2.comPort.doCommand(MAVLink.MAV_CMD.DO_REPEAT_RELAY, relaynumber, repeat, time, 0, 0, 0, 0);
                                }
                                catch { CustomMessageBox.Show("Failed to DO_REPEAT_RELAY"); }
                            });
                        break;
                    case buttonfunction.Do_Set_Servo:
                        MainV2.instance.BeginInvoke((System.Windows.Forms.MethodInvoker)delegate()
                           {
                               try
                               {
                                   int channel = (int)but.p1;
                                   int pwm = (int)but.p2;
                                   MainV2.comPort.doCommand(MAVLink.MAV_CMD.DO_SET_SERVO, channel, pwm, 0, 0, 0, 0, 0);
                               }
                               catch { CustomMessageBox.Show("Failed to DO_SET_SERVO"); }
                           });
                        break;
                    case buttonfunction.Do_Repeat_Servo:
                        MainV2.instance.BeginInvoke((System.Windows.Forms.MethodInvoker)delegate()
                           {
                               try
                               {
                                   int channelno = (int)but.p1;
                                   int pwmvalue = (int)but.p2;
                                   int repeattime = (int)but.p3;
                                   int delay_ms = (int)but.p4;
                                   MainV2.comPort.doCommand(MAVLink.MAV_CMD.DO_REPEAT_SERVO, channelno, pwmvalue, repeattime, delay_ms, 0, 0, 0);
                               }
                               catch { CustomMessageBox.Show("Failed to DO_REPEAT_SERVO"); }
                           });
                        break;
                    case buttonfunction.Toggle_Pan_Stab:
                        MainV2.instance.BeginInvoke((System.Windows.Forms.MethodInvoker)delegate()
                          {
                              try
                              {
                                  float current = (float)MainV2.comPort.MAV.param["MNT_STAB_PAN"];
                                  float newvalue = (current > 0) ? 0 : 1;
                                  MainV2.comPort.setParam("MNT_STAB_PAN", newvalue);
                              }
                              catch { CustomMessageBox.Show("Failed to Toggle_Pan_Stab"); }
                          });
                        break;
                    case buttonfunction.Gimbal_pnt_track:
                        MainV2.instance.BeginInvoke((System.Windows.Forms.MethodInvoker)delegate()
                        {
                            try
                            {
                                MainV2.comPort.doCommand(MAVLink.MAV_CMD.DO_SET_ROI, 0, 0, 0, 0, MainV2.comPort.MAV.cs.gimballat, MainV2.comPort.MAV.cs.gimballng, (float)MainV2.comPort.MAV.cs.GimbalPoint.Alt);
                            }
                            catch { CustomMessageBox.Show("Failed to Gimbal_pnt_track"); }
                        });
                        break;
                    case buttonfunction.Mount_Control_0:
                        MainV2.instance.BeginInvoke((System.Windows.Forms.MethodInvoker)delegate()
                        {
                            try
                            {
                                MainV2.comPort.setMountControl(0,0,0,false);
                            }
                            catch { CustomMessageBox.Show("Failed to Mount_Control_0"); }
                        });
                        break;
                }
            }
        }
Example #23
0
 // Use this for initialization
 void Start()
 {
     joyButton  = FindObjectOfType <JoyButton>();
     PlayerAnim = GetComponent <Animator>();
     gameObject.GetComponent <NetworkAnimator>().SetParameterAutoSend(0, true);
 }
 void ButtonDown(JoyButton but)
 {
     ProcessButtonEvent(but, true);
 }
 public bool isGrounded = true;                          //Si está en el suelo
 void Start()
 {
     joyButton = FindObjectOfType <JoyButton>();
 }
 // Start is called before the first frame update
 void Start()
 {
     joystick            = FindObjectOfType <Joystick>();
     joybutton           = FindObjectOfType <JoyButton>();
     characterController = GetComponent <CharacterController>();
 }
 void GUISelectButton()
 {
     GUILayout.BeginVertical("Box");
      joyMenuCount=18;
      GUILayout.BeginHorizontal();
      JoySelectedButton(6);
      if((joyClick&&joyMenuSelected==6)|| GUILayout.Button("ButtonA")){
          joyMenuSelected=6;
          joypadButton=JoyButton.ButtonA;
          beginGetJoystickButton=true;
          joyClick=false;
          }
      JoySelectedButton(7);
      if((joyClick&&joyMenuSelected==7)|| GUILayout.Button("ButtonB")){
          joyMenuSelected=7;
          joypadButton=JoyButton.ButtonB;
          beginGetJoystickButton=true;
          joyClick=false;
          }
      JoySelectedButton(8);
      if((joyClick&&joyMenuSelected==8)|| GUILayout.Button("ButtonX")){
          joyMenuSelected=8;
          joypadButton=JoyButton.ButtonX;
          beginGetJoystickButton=true;
          joyClick=false;
          }
      JoySelectedButton(9);
      if((joyClick&&joyMenuSelected==9)|| GUILayout.Button("ButtonY")){
          joyMenuSelected=9;
          joypadButton=JoyButton.ButtonY;
          beginGetJoystickButton=true;
          joyClick=false;
          }
      GUILayout.EndHorizontal();
      GUILayout.BeginHorizontal();
      JoySelectedButton(10);
      if((joyClick&&joyMenuSelected==10)|| GUILayout.Button("ButtonL1")){
          joyMenuSelected=10;
          joypadButton=JoyButton.ButtonL1;
          beginGetJoystickButton=true;
          joyClick=false;
          }
      JoySelectedButton(11);
      if((joyClick&&joyMenuSelected==11)|| GUILayout.Button("ButtonL2")){
          joyMenuSelected=11;
          joypadButton=JoyButton.ButtonL2;
          beginGetJoystickButton=true;
          joyClick=false;
          }
      JoySelectedButton(12);
      if((joyClick&&joyMenuSelected==12)|| GUILayout.Button("ButtonR1")){
          joyMenuSelected=12;
          joypadButton=JoyButton.ButtonR1;
          beginGetJoystickButton=true;
          joyClick=false;
          }
      JoySelectedButton(13);
      if((joyClick&&joyMenuSelected==13)|| GUILayout.Button("ButtonR2")){
          joyMenuSelected=13;
          joypadButton=JoyButton.ButtonR2;
          beginGetJoystickButton=true;
          joyClick=false;
          }
      GUILayout.EndHorizontal();
      GUILayout.BeginHorizontal();
      JoySelectedButton(14);
      if((joyClick&&joyMenuSelected==14)|| GUILayout.Button("ButtonStart")){
          joyMenuSelected=14;
          joypadButton=JoyButton.ButtonStart;
          beginGetJoystickButton=true;
          joyClick=false;
          }
      JoySelectedButton(15);
      if((joyClick&&joyMenuSelected==15)|| GUILayout.Button("ButtonSelect")){
          joyMenuSelected=15;
          joypadButton=JoyButton.ButtonSelect;
          beginGetJoystickButton=true;
          joyClick=false;
          }
      GUILayout.EndHorizontal();
      if(beginGetJoystickButton)GUILayout.Box("Press Button");
      GUILayout.EndVertical();
 }
Example #28
0
 public void setButton(int arrayoffset,int buttonid,string mode1)
 {
     JoyButtons[arrayoffset] = new JoyButton()
     {
         buttonno = buttonid,
         mode = mode1
     };
 }
 public bool getJoystickButton( Joypad joypad , JoyButton joyButton )
 {
     bool waitButton=false;
      waitButtonDelay=0.6f;
      if(joypad==Joypad.Joypad1){
          switch(joyButton){
              case JoyButton.ButtonA: Joy1ButtonA=getJoystick1Button();
              if(Joy1ButtonA != KeyCode.None)waitButton=true;
              break;
              case JoyButton.ButtonB: Joy1ButtonB=getJoystick1Button();
              if(Joy1ButtonB != KeyCode.None)waitButton=true;
              break;
              case JoyButton.ButtonX: Joy1ButtonX=getJoystick1Button();
              if(Joy1ButtonX != KeyCode.None)waitButton=true;
              break;
              case JoyButton.ButtonY: Joy1ButtonY=getJoystick1Button();
              if(Joy1ButtonY != KeyCode.None)waitButton=true;
              break;
              case JoyButton.ButtonL1: Joy1ButtonL1=getJoystick1Button();
              if(Joy1ButtonL1 != KeyCode.None)waitButton=true;
              break;
              case JoyButton.ButtonL2: Joy1ButtonL2=getJoystick1Button();
              if(Joy1ButtonL2 != KeyCode.None)waitButton=true;
              break;
              case JoyButton.ButtonR1: Joy1ButtonR1=getJoystick1Button();
              if(Joy1ButtonR1 != KeyCode.None)waitButton=true;
              break;
              case JoyButton.ButtonR2: Joy1ButtonR2=getJoystick1Button();
              if(Joy1ButtonR2 != KeyCode.None)waitButton=true;
              break;
              case JoyButton.ButtonStart: Joy1ButtonStart=getJoystick1Button();
              if(Joy1ButtonStart != KeyCode.None)waitButton=true;
              break;
              case JoyButton.ButtonSelect: Joy1ButtonSelect=getJoystick1Button();
              if(Joy1ButtonSelect != KeyCode.None)waitButton=true;
              break;
              }
          }
      else if(joypad==Joypad.Joypad2){
          switch(joyButton){
              case JoyButton.ButtonA: Joy2ButtonA=getJoystick2Button();
              if(Joy2ButtonA != KeyCode.None)waitButton=true;
              break;
              case JoyButton.ButtonB: Joy2ButtonB=getJoystick2Button();
              if(Joy2ButtonB != KeyCode.None)waitButton=true;
              break;
              case JoyButton.ButtonX: Joy2ButtonX=getJoystick2Button();
              if(Joy2ButtonX != KeyCode.None)waitButton=true;
              break;
              case JoyButton.ButtonY: Joy2ButtonY=getJoystick2Button();
              if(Joy2ButtonY != KeyCode.None)waitButton=true;
              break;
              case JoyButton.ButtonL1: Joy2ButtonL1=getJoystick2Button();
              if(Joy2ButtonL1 != KeyCode.None)waitButton=true;
              break;
              case JoyButton.ButtonL2: Joy2ButtonL2=getJoystick2Button();
              if(Joy2ButtonL2 != KeyCode.None)waitButton=true;
              break;
              case JoyButton.ButtonR1: Joy2ButtonR1=getJoystick2Button();
              if(Joy2ButtonR1 != KeyCode.None)waitButton=true;
              break;
              case JoyButton.ButtonR2: Joy2ButtonR2=getJoystick2Button();
              if(Joy2ButtonR2 != KeyCode.None)waitButton=true;
              break;
              case JoyButton.ButtonStart: Joy2ButtonStart=getJoystick2Button();
              if(Joy2ButtonStart != KeyCode.None)waitButton=true;
              break;
              case JoyButton.ButtonSelect: Joy2ButtonSelect=getJoystick2Button();
              if(Joy2ButtonSelect != KeyCode.None)waitButton=true;
              break;
              }
          }
      else if(joypad==Joypad.Joypad3){
          switch(joyButton){
              case JoyButton.ButtonA: Joy3ButtonA=getJoystick3Button();
              if(Joy3ButtonA != KeyCode.None)waitButton=true;
              break;
              case JoyButton.ButtonB: Joy3ButtonB=getJoystick3Button();
              if(Joy3ButtonB != KeyCode.None)waitButton=true;
              break;
              case JoyButton.ButtonX: Joy3ButtonX=getJoystick3Button();
              if(Joy3ButtonX != KeyCode.None)waitButton=true;
              break;
              case JoyButton.ButtonY: Joy3ButtonY=getJoystick3Button();
              if(Joy3ButtonY != KeyCode.None)waitButton=true;
              break;
              case JoyButton.ButtonL1: Joy3ButtonL1=getJoystick3Button();
              if(Joy3ButtonL1 != KeyCode.None)waitButton=true;
              break;
              case JoyButton.ButtonL2: Joy3ButtonL2=getJoystick3Button();
              if(Joy3ButtonL2 != KeyCode.None)waitButton=true;
              break;
              case JoyButton.ButtonR1: Joy3ButtonR1=getJoystick3Button();
              if(Joy3ButtonR1 != KeyCode.None)waitButton=true;
              break;
              case JoyButton.ButtonR2: Joy3ButtonR2=getJoystick3Button();
              if(Joy3ButtonR2 != KeyCode.None)waitButton=true;
              break;
              case JoyButton.ButtonStart: Joy3ButtonStart=getJoystick3Button();
              if(Joy3ButtonStart != KeyCode.None)waitButton=true;
              break;
              case JoyButton.ButtonSelect: Joy3ButtonSelect=getJoystick3Button();
              if(Joy3ButtonSelect != KeyCode.None)waitButton=true;
              break;
              }
          }
      else if(joypad==Joypad.Joypad4){
          switch(joyButton){
              case JoyButton.ButtonA: Joy4ButtonA=getJoystick4Button();
              if(Joy4ButtonA != KeyCode.None)waitButton=true;
              break;
              case JoyButton.ButtonB: Joy4ButtonB=getJoystick4Button();
              if(Joy4ButtonB != KeyCode.None)waitButton=true;
              break;
              case JoyButton.ButtonX: Joy4ButtonX=getJoystick4Button();
              if(Joy4ButtonX != KeyCode.None)waitButton=true;
              break;
              case JoyButton.ButtonY: Joy4ButtonY=getJoystick4Button();
              if(Joy4ButtonY != KeyCode.None)waitButton=true;
              break;
              case JoyButton.ButtonL1: Joy4ButtonL1=getJoystick4Button();
              if(Joy4ButtonL1 != KeyCode.None)waitButton=true;
              break;
              case JoyButton.ButtonL2: Joy4ButtonL2=getJoystick4Button();
              if(Joy4ButtonL2 != KeyCode.None)waitButton=true;
              break;
              case JoyButton.ButtonR1: Joy4ButtonR1=getJoystick4Button();
              if(Joy4ButtonR1 != KeyCode.None)waitButton=true;
              break;
              case JoyButton.ButtonR2: Joy4ButtonR2=getJoystick4Button();
              if(Joy4ButtonR2 != KeyCode.None)waitButton=true;
              break;
              case JoyButton.ButtonStart: Joy4ButtonStart=getJoystick4Button();
              if(Joy4ButtonStart != KeyCode.None)waitButton=true;
              break;
              case JoyButton.ButtonSelect: Joy4ButtonSelect=getJoystick4Button();
              if(Joy4ButtonSelect != KeyCode.None)waitButton=true;
              break;
              }
          }
      return waitButton;
 }