/// <summary>
        /// Reacciona al input del usuario, cambiando entre Entries y aceptando
        /// o cancelando el menú.
        /// </summary>
        /// <param name="input">Input de los controles</param>
        public override void HandleInput(InputState input)
        {
            //Se mueve al entry superior (o al último)
            if (input.IsMenuUp(ControllingPlayer))
            {
                selectedEntry--;

                if (selectedEntry < 0)
                    selectedEntry = menuEntries.Count - 1;
            }

            //Se mueve al siguiente entry o al primero
            if (input.IsMenuDown(ControllingPlayer))
            {
                selectedEntry++;

                if (selectedEntry >= menuEntries.Count)
                    selectedEntry = 0;
            }

            /* Acepta o cancela el menú. playerIndex guarda quien es el player que ha hecho la acción.
             * De esta forma es posible saber quien gatillo el evento.
             */
            PlayerIndex playerIndex;

            if (input.IsMenuSelect(ControllingPlayer, out playerIndex))
            {
                OnSelectEntry(selectedEntry, playerIndex);
            }
            else if (input.IsMenuCancel(ControllingPlayer, out playerIndex))
            {
                OnCancel(playerIndex);
            }
        }
        /// <summary>
        /// Como es una Screen puede responder a los controles de los usuarios, este
        /// metodo permite la detección del teclado.
        /// </summary>
        /// <param name="input">Input que tiene el mapeo del teclado.</param>
        public override void HandleInput(InputState input)
        {
            PlayerIndex playerIndex;

            /* Pasamos el ControllingPlauer como nulo si queremos que cualquier player
             * realice acciones, o con un valor para el plauer que deseamos que
             * realice la acción.
             * Luego playerIndex guardará la información de quien hizo la acción.
             */
            if (input.IsMenuSelect(ControllingPlayer, out playerIndex))
            {
                // Levanta el evento Accepted y se sale del Popup
                if (Accepted != null)
                    Accepted(this, new PlayerIndexEventArgs(playerIndex));

                ExitScreen();
            }
            else if (input.IsMenuCancel(ControllingPlayer, out playerIndex))
            {
                // Levanta el evento Cancelled y se sale del Popup
                if (Cancelled != null)
                    Cancelled(this, new PlayerIndexEventArgs(playerIndex));

                ExitScreen();
            }
        }