public override bool HandleEvent(Event evt)
        {
            if (evt.code == Event.KEY)
            {
                KeyEvent keyEvent = (KeyEvent)evt;
                if (keyEvent.IsKeyPressed(KeyCode.Up))
                {

                    return true;
                }
            }

            return base.HandleEvent(evt);
        }
        public override bool HandleEvent(Event evt)
        {
            if (evt.code == Event.KEY)
            {
                KeyEvent keyEvent = evt as KeyEvent;
                if (keyEvent.arg.key == KeyCode.Escape)
                {
                    if (keyEvent.state == KeyState.Pressed)
                    {
                        Hide();
                    }
                    return true;
                }
            }

            return base.HandleEvent(evt);
        }
        public override bool HandleEvent(Event evt)
        {
            if (evt.code == Event.KEY)
            {
                KeyEvent keyEvent = evt as KeyEvent;
                if (keyEvent.arg.key == KeyCode.Left)
                {
                    if (keyEvent.state == KeyState.Pressed)
                        TrySwitchPrev();
                    return true;
                }

                if (keyEvent.arg.key == KeyCode.Right)
                {
                    if (keyEvent.state == KeyState.Pressed)
                        TrySwitchNext();
                    return true;
                }
            }

            return base.HandleEvent(evt);
        }
        public override bool HandleEvent(Event evt)
        {
            if (evt.code == Event.KEY)
            {
                KeyEvent keyEvent = evt as KeyEvent;
                if (keyEvent.arg.key == KeyCode.Enter)
                {
                    if (keyEvent.state == KeyState.Pressed)
                    {
                        OnPress();
                        return true;
                    }

                    if (keyEvent.state == KeyState.Released)
                    {
                        OnRelease();
                        return true;
                    }
                }
            }

            return base.HandleEvent(evt);
        }
        public override bool HandleEvent(Event evt)
        {
            if (evt.code == Event.KEY)
            {
                KeyEvent keyEvent = evt as KeyEvent;

                switch (keyEvent.state)
                {
                    case KeyState.Pressed:
                    {
                        if (OnKeyPressed(ref keyEvent.arg)) return true;
                        break;
                    }

                    case KeyState.Repeated:
                    {
                        if (OnKeyRepeat(ref keyEvent.arg)) return true;
                        break;
                    }

                    case KeyState.Released:
                    {
                        if (OnKeyReleased(ref keyEvent.arg)) return true;
                        break;
                    }
                }
            }

            return base.HandleEvent(evt);
        }
        //////////////////////////////////////////////////////////////////////////////

        #region Event handler

        public override bool HandleEvent(Event evt)
        {
            if (m_console.IsVisible && m_console.HandleEvent(evt))
            {
                return true;
            }

            return m_currentController.HandleEvent(evt);
        }
        public override bool HandleEvent(Event evt)
        {
            if (eventHandlers.HandleEvent(evt))
            {
                return true;
            }

            if (evt.code == Event.KEY)
            {
                if (mFocusedView != null)
                {
                    if (mFocusedView.HandleEvent(evt)) return true;
                }

                KeyEvent keyEvent = evt as KeyEvent;
                if (keyEvent.state == KeyState.Pressed)
                {
                    if (keyEvent.IsKeyPressed(KeyCode.Escape) ||
                        keyEvent.IsKeyPressed(KeyCode.GP_B) || keyEvent.IsKeyPressed(KeyCode.GP_Back))
                    {
                        if (OnCancelPressed(keyEvent.arg))
                        {
                            return true;
                        }
                    }

                    if (keyEvent.IsKeyPressed(KeyCode.Enter) ||
                        keyEvent.IsKeyPressed(KeyCode.GP_A) || keyEvent.IsKeyPressed(KeyCode.GP_Start))
                    {
                        if (OnConfirmPressed(keyEvent.arg))
                        {
                            return true;
                        }
                    }
                }

                switch (keyEvent.state)
                {
                    case KeyState.Pressed:
                    case KeyState.Repeated:
                        return TryMoveFocus(keyEvent.arg.key);
                }
            }

            return base.HandleEvent(evt);
        }
 public override bool HandleEvent(Event evt)
 {
     return currentScreen.HandleEvent(evt);
 }
 public virtual bool HandleEvent(Event evt)
 {
     return false;
 }
 public override bool HandleEvent(Event evt)
 {
     return screenManager.HandleEvent(evt);
 }