private void HandlePlayer2Input()
 {
     if (cursor2 != null)
     {
         if (--p2_delay <= 0)
         {
             bool pressed = false;
             if (!conf2)
             {
                 cursor2.DoUpdate();
                 if (cursor2.HasMoved())
                 {
                     UpdateBackground(false);
                 }
                 charSprite2.GetComponent <SpriteRenderer>().sprite = chars[cursor2.getX()];
                 charName2.GetComponent <SpriteRenderer>().sprite   = charNames[cursor2.getX()];
                 if (cursor2.launchOrPause())
                 {
                     SpeakCharacterName(cursor2.getX(), 1); SignalSuccess(); conf2 = true; pressed = true;
                 }
             }
             else if (cursor2.back())
             {
                 conf2   = false;
                 pressed = true;
                 SignalFailure();
             }
             if (pressed)
             {
                 p2_delay = 5;
             }
         }
     }
     else if (PD.gameType == PersistData.GT.Versus && PD.controller2 == null)
     {
         PD.controller2 = PD.detectInput_P2();
         if (PD.controller2 != null)
         {
             char2StartText.SetActive(false);
             FullInitP2Select();
             SignalSuccess();
         }
     }
 }