예제 #1
0
        public override bool HandleInput(KeyEvent KeyEvent)
        {
            if (_EditMode == EEditMode.None)
            {
                base.HandleInput(KeyEvent);
            }

            if (KeyEvent.KeyPressed && !Char.IsControl(KeyEvent.Unicode))
            {
                switch (_EditMode)
                {
                case EEditMode.None:
                    break;

                case EEditMode.PlayerName:
                    SelectSlides[htSelectSlides(SelectSlideProfiles)].RenameValue(
                        CProfiles.AddGetPlayerName(SelectSlides[htSelectSlides(SelectSlideProfiles)].Selection, KeyEvent.Unicode));
                    break;

                default:
                    break;
                }
            }
            else
            {
                switch (KeyEvent.Key)
                {
                case Keys.Escape:
                    CGraphics.FadeTo(EScreens.ScreenMain);
                    break;

                case Keys.Enter:
                    if (Buttons[htButtons(ButtonExit)].Selected)
                    {
                        CGraphics.FadeTo(EScreens.ScreenMain);
                    }
                    else if (Buttons[htButtons(ButtonSave)].Selected)
                    {
                        SaveProfiles();
                    }
                    else if (Buttons[htButtons(ButtonNew)].Selected)
                    {
                        NewProfile();
                    }
                    else if (Buttons[htButtons(ButtonPlayerName)].Selected)
                    {
                        if (CProfiles.NumProfiles > 0 && _EditMode != EEditMode.PlayerName)
                        {
                            _EditMode = EEditMode.PlayerName;
                        }
                        else
                        {
                            _EditMode = EEditMode.None;
                        }
                    }
                    else if (Buttons[htButtons(ButtonDelete)].Selected)
                    {
                        DeleteProfile();
                    }
                    break;

                case Keys.Back:
                    if (_EditMode == EEditMode.PlayerName)
                    {
                        SelectSlides[htSelectSlides(SelectSlideProfiles)].RenameValue(
                            CProfiles.GetDeleteCharInPlayerName(SelectSlides[htSelectSlides(SelectSlideProfiles)].Selection));
                    }
                    else
                    {
                        CGraphics.FadeTo(EScreens.ScreenMain);
                    }
                    break;

                case Keys.Delete:
                    DeleteProfile();
                    break;
                }
                if (SelectSlides[htSelectSlides(SelectSlideDifficulty)].Selected)
                {
                    CProfiles.SetDifficulty(SelectSlides[htSelectSlides(SelectSlideProfiles)].Selection,
                                            (EGameDifficulty)SelectSlides[htSelectSlides(SelectSlideDifficulty)].Selection);
                }
                else if (SelectSlides[htSelectSlides(SelectSlideAvatars)].Selected)
                {
                    CProfiles.SetAvatar(SelectSlides[htSelectSlides(SelectSlideProfiles)].Selection,
                                        SelectSlides[htSelectSlides(SelectSlideAvatars)].Selection);
                }
                else if (SelectSlides[htSelectSlides(SelectSlideGuestProfile)].Selected)
                {
                    CProfiles.SetGuestProfile(SelectSlides[htSelectSlides(SelectSlideProfiles)].Selection,
                                              (EOffOn)SelectSlides[htSelectSlides(SelectSlideGuestProfile)].Selection);
                }
                else if (SelectSlides[htSelectSlides(SelectSlideActive)].Selected)
                {
                    CProfiles.SetActive(SelectSlides[htSelectSlides(SelectSlideProfiles)].Selection,
                                        (EOffOn)SelectSlides[htSelectSlides(SelectSlideActive)].Selection);
                }
            }

            return(true);
        }
예제 #2
0
        public override bool HandleInput(SKeyEvent keyEvent)
        {
            if ((keyEvent.Key == Keys.Up || keyEvent.Key == Keys.Down) && _EditMode == EEditMode.PlayerName)
            {
                _EditMode = EEditMode.None;
            }
            if (_EditMode == EEditMode.None)
            {
                base.HandleInput(keyEvent);
            }

            if (keyEvent.KeyPressed && !Char.IsControl(keyEvent.Unicode))
            {
                switch (_EditMode)
                {
                case EEditMode.None:
                    break;

                case EEditMode.PlayerName:
                    CProfiles.AddGetPlayerName(_NewProfileID, keyEvent.Unicode);
                    _ProfilesChanged = true;
                    break;
                }
            }
            else
            {
                switch (keyEvent.Key)
                {
                case Keys.Escape:
                    _DeleteProfile();
                    _ClosePopup();
                    break;

                case Keys.Enter:
                    if (_Buttons[_ButtonCancel].Selected)
                    {
                        _DeleteProfile();
                        _ClosePopup();
                    }

                    else if (_Buttons[_ButtonSave].Selected)
                    {
                        _SaveProfiles();
                        _ClosePopup();
                    }

                    /*else if (_Buttons[_ButtonNew].Selected)
                     *  _NewProfile();*/
                    else if (_Buttons[_ButtonPlayerName].Selected)
                    {
                        if (CProfiles.NumProfiles > 0 && _EditMode != EEditMode.PlayerName)
                        {
                            _EditMode = EEditMode.PlayerName;
                        }
                        else
                        {
                            _EditMode = EEditMode.None;
                        }
                    }

                    /*else if (_Buttons[_ButtonDelete].Selected)
                     *  _DeleteProfile();*/
                    break;

                case Keys.Back:
                    if (_EditMode == EEditMode.PlayerName)
                    {
                        CProfiles.GetDeleteCharInPlayerName(_NewProfileID);
                        _ProfilesChanged = true;
                    }
                    else
                    {
                        _ClosePopup();
                    }
                    break;

                case Keys.Delete:
                    _DeleteProfile();
                    break;
                }
                if (_SelectSlides[_SelectSlideDifficulty].Selected)
                {
                    CProfiles.SetDifficulty(_NewProfileID,
                                            (EGameDifficulty)_SelectSlides[_SelectSlideDifficulty].Selection);
                }
                else if (_SelectSlides[_SelectSlideAvatars].Selected)
                {
                    CProfiles.SetAvatar(_NewProfileID,
                                        _SelectSlides[_SelectSlideAvatars].SelectedTag);
                }

                /*else if (_SelectSlides[_SelectSlideUserRole].Selected)
                 * {
                 *  CProfiles.SetUserRoleProfile(_NewProfileID,
                 *                               (EUserRole)_SelectSlides[_SelectSlideUserRole].Selection);
                 * }
                 * else if (_SelectSlides[_SelectSlideActive].Selected)
                 * {
                 *  CProfiles.SetActive(_NewProfileID,
                 *                      (EOffOn)_SelectSlides[_SelectSlideActive].Selection);
                 * }*/
            }

            return(true);
        }
예제 #3
0
        public override bool HandleInput(SKeyEvent keyEvent)
        {
            if (_EditMode == EEditMode.None)
            {
                base.HandleInput(keyEvent);
            }

            if (keyEvent.KeyPressed && !Char.IsControl(keyEvent.Unicode))
            {
                switch (_EditMode)
                {
                case EEditMode.None:
                    break;

                case EEditMode.PlayerName:
                    _SelectSlides[_SelectSlideProfiles].RenameValue(
                        CProfiles.AddGetPlayerName(_SelectSlides[_SelectSlideProfiles].SelectedTag, keyEvent.Unicode));
                    _ProfilesChanged = true;
                    break;
                }
            }
            else
            {
                switch (keyEvent.Key)
                {
                case Keys.Escape:
                    if (_EditMode == EEditMode.PlayerName)
                    {
                        _EditMode = EEditMode.None;
                    }
                    else
                    {
                        CGraphics.FadeTo(EScreen.Main);
                    }
                    break;

                case Keys.Enter:
                    if (_Buttons[_ButtonExit].Selected)
                    {
                        CGraphics.FadeTo(EScreen.Main);
                    }
                    else if (_Buttons[_ButtonSave].Selected)
                    {
                        _SaveProfiles();
                    }
                    else if (_Buttons[_ButtonNew].Selected)
                    {
                        _NewProfile();
                    }
                    else if (_Buttons[_ButtonPlayerName].Selected)
                    {
                        if (CProfiles.NumProfiles > 0 && _EditMode != EEditMode.PlayerName)
                        {
                            _EditMode = EEditMode.PlayerName;
                        }
                        else
                        {
                            _EditMode = EEditMode.None;
                        }
                    }
                    else if (_Buttons[_ButtonDelete].Selected)
                    {
                        _DeleteProfile();
                    }
                    else if (_Buttons[_ButtonWebcam].Selected)
                    {
                        _OnWebcam();
                    }
                    else if (_Buttons[_ButtonSaveSnapshot].Selected)
                    {
                        _OnSaveSnapshot();
                    }
                    else if (_Buttons[_ButtonDiscardSnapshot].Selected)
                    {
                        _OnDiscardSnapshot();
                    }
                    else if (_Buttons[_ButtonTakeSnapshot].Selected)
                    {
                        _OnTakeSnapshot();
                    }
                    break;

                case Keys.Back:
                    if (_EditMode == EEditMode.PlayerName)
                    {
                        _SelectSlides[_SelectSlideProfiles].RenameValue(
                            CProfiles.GetDeleteCharInPlayerName(_SelectSlides[_SelectSlideProfiles].SelectedTag));
                        _ProfilesChanged = true;
                    }
                    else
                    {
                        CGraphics.FadeTo(EScreen.Main);
                    }
                    break;

                case Keys.Delete:
                    _DeleteProfile();
                    break;
                }
                if (_SelectSlides[_SelectSlideDifficulty].Selected)
                {
                    CProfiles.SetDifficulty(_SelectSlides[_SelectSlideProfiles].SelectedTag,
                                            (EGameDifficulty)_SelectSlides[_SelectSlideDifficulty].Selection);
                }
                else if (_SelectSlides[_SelectSlideAvatars].Selected)
                {
                    CProfiles.SetAvatar(_SelectSlides[_SelectSlideProfiles].SelectedTag,
                                        _SelectSlides[_SelectSlideAvatars].SelectedTag);
                }
                else if (_SelectSlides[_SelectSlideUserRole].Selected)
                {
                    CProfiles.SetUserRoleProfile(_SelectSlides[_SelectSlideProfiles].SelectedTag,
                                                 (EUserRole)_SelectSlides[_SelectSlideUserRole].Selection);
                }
                else if (_SelectSlides[_SelectSlideActive].Selected)
                {
                    CProfiles.SetActive(_SelectSlides[_SelectSlideProfiles].SelectedTag,
                                        (EOffOn)_SelectSlides[_SelectSlideActive].Selection);
                }
            }

            return(true);
        }