Example #1
0
        /// <summary>
        /// Responds to user input, changing the selected entry and accepting
        /// or cancelling the menu.
        /// </summary>
        public override void HandleInput(InputState input)
        {
            /* Set current to false */
            menuEntries[selectedEntry].Selected = false;

            // Move to the previous menu entry?
            if (input.IsMenuUp(ControllingPlayer))
            {
                selectedEntry--;

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

            // Move to the next menu entry?
            if (input.IsMenuDown(ControllingPlayer))
            {
                selectedEntry++;

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

            menuEntries[selectedEntry].Selected = true;

            // Accept or cancel the menu? We pass in our ControllingPlayer, which may
            // either be null (to accept input from any player) or a specific index.
            // If we pass a null controlling player, the InputState helper returns to
            // us which player actually provided the input. We pass that through to
            // OnSelectEntry and OnCancel, so they can tell which player triggered them.
            PlayerIndex playerIndex;

            if (input.IsMenuSelect(ControllingPlayer, out playerIndex))
            {
                OnSelectEntry(selectedEntry, playerIndex);
            }
            else if (input.IsMenuCancel(ControllingPlayer, out playerIndex))
            {
                OnCancel(playerIndex);
            }
        }
Example #2
0
        public void HandleInput(InputState input)
        {
            PlayerIndex playerIndex;

            m_old_selected_x = m_selected_x;
            m_old_selected_y = m_selected_y;
            m_list[m_grid[m_selected_y, m_selected_x].m_list_index].m_selected = false;

            if (m_cue.IsPrepared && !m_cue.IsPlaying)
            {
                m_cue.Play();
            }

            if (input.IsMenuRight(null))
            {
                m_selected_x++;

                if ( (m_selected_x == m_columns) || (m_grid[m_selected_y, m_selected_x].m_selectable != true) )
                {
                    m_selected_x = 0;
                }
                UpdateWav();

                //Console.WriteLine("Grid[" + m_selected_y + ", " + m_selected_x + "] Selected");
            }
            else if (input.IsMenuLeft(null))
            {
                m_selected_x--;

                if (m_selected_x < 0)
                {
                    m_selected_x = m_columns - 1;

                    while (m_grid[m_selected_y, m_selected_x].m_selectable != true)
                    {
                        m_selected_x--;
                    }
                }
                UpdateWav();
                //Console.WriteLine("Grid[" + m_selected_y + ", " + m_selected_x + "] Selected");
            }
            else if (input.IsMenuUp(null))
            {
                m_selected_y--;
                if (m_selected_y < 0)
                {
                    m_selected_y = m_rows - 1;

                    while (m_grid[m_selected_y, m_selected_x].m_selectable != true)
                    {
                        m_selected_y--;
                    }
                }
                UpdateWav();
                //Console.WriteLine("Grid[" + m_selected_y + ", " + m_selected_x + "] Selected");
            }
            else if (input.IsMenuDown(null))
            {
                m_selected_y++;
                if ( (m_selected_y == m_rows) || (m_grid[m_selected_y, m_selected_x].m_selectable != true) )
                {
                    m_selected_y = 0;
                }
                UpdateWav();
                //Console.WriteLine("Grid[" + m_selected_y + ", " + m_selected_x + "] Selected");
            }
            else if (input.IsMenuSelect(null, out playerIndex))
            {
                m_cue.Stop(AudioStopOptions.Immediate);
                m_list[m_grid[m_selected_y, m_selected_x].m_list_index].m_fcn_ptr();
            }

            m_list[m_grid[m_selected_y, m_selected_x].m_list_index].m_selected = true;
        }
Example #3
0
        /// <summary>
        /// Responds to user input, changing the selected entry and accepting
        /// or cancelling the menu.
        /// </summary>
        public override void HandleInput(InputState input)
        {
            /* Set current to false */
            menuEntries[selectedEntry].Selected = false;

            // Move to the previous menu entry?
            if (input.IsMenuUp(ControllingPlayer))
            {
                selectedEntry--;

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

            // Move to the next menu entry?
            if (input.IsMenuDown(ControllingPlayer))
            {
                selectedEntry++;

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

            menuEntries[selectedEntry].Selected = true;

            // Accept or cancel the menu? We pass in our ControllingPlayer, which may
            // either be null (to accept input from any player) or a specific index.
            // If we pass a null controlling player, the InputState helper returns to
            // us which player actually provided the input. We pass that through to
            // OnSelectEntry and OnCancel, so they can tell which player triggered them.
            PlayerIndex playerIndex;

            if (input.IsMenuSelect(ControllingPlayer, out playerIndex))
            {
                OnSelectEntry(selectedEntry, playerIndex);
            }
            else if (input.IsMenuCancel(ControllingPlayer, out playerIndex))
            {
                OnCancel(playerIndex);
            }
        }
Example #4
0
        public void HandleInput(InputState input)
        {
            PlayerIndex playerIndex;

            m_old_selected_x = m_selected_x;
            m_old_selected_y = m_selected_y;
            m_list[m_grid[m_selected_y, m_selected_x].m_list_index].m_selected = false;

            if (m_cue.IsPrepared && !m_cue.IsPlaying)
            {
                m_cue.Play();
            }

            if (input.IsMenuRight(null))
            {
                m_selected_x++;

                if ((m_selected_x == m_columns) || (m_grid[m_selected_y, m_selected_x].m_selectable != true))
                {
                    m_selected_x = 0;
                }
                UpdateWav();

                //Console.WriteLine("Grid[" + m_selected_y + ", " + m_selected_x + "] Selected");
            }
            else if (input.IsMenuLeft(null))
            {
                m_selected_x--;

                if (m_selected_x < 0)
                {
                    m_selected_x = m_columns - 1;

                    while (m_grid[m_selected_y, m_selected_x].m_selectable != true)
                    {
                        m_selected_x--;
                    }
                }
                UpdateWav();
                //Console.WriteLine("Grid[" + m_selected_y + ", " + m_selected_x + "] Selected");
            }
            else if (input.IsMenuUp(null))
            {
                m_selected_y--;
                if (m_selected_y < 0)
                {
                    m_selected_y = m_rows - 1;

                    while (m_grid[m_selected_y, m_selected_x].m_selectable != true)
                    {
                        m_selected_y--;
                    }
                }
                UpdateWav();
                //Console.WriteLine("Grid[" + m_selected_y + ", " + m_selected_x + "] Selected");
            }
            else if (input.IsMenuDown(null))
            {
                m_selected_y++;
                if ((m_selected_y == m_rows) || (m_grid[m_selected_y, m_selected_x].m_selectable != true))
                {
                    m_selected_y = 0;
                }
                UpdateWav();
                //Console.WriteLine("Grid[" + m_selected_y + ", " + m_selected_x + "] Selected");
            }
            else if (input.IsMenuSelect(null, out playerIndex))
            {
                m_cue.Stop(AudioStopOptions.Immediate);
                m_list[m_grid[m_selected_y, m_selected_x].m_list_index].m_fcn_ptr();
            }

            m_list[m_grid[m_selected_y, m_selected_x].m_list_index].m_selected = true;
        }