예제 #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 HandleMouse(MouseEvent MouseEvent)
        {
            if (_EditMode == EEditMode.None)
            {
                base.HandleMouse(MouseEvent);
            }

            if (MouseEvent.LB && IsMouseOver(MouseEvent))
            {
                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(ButtonDelete)].Selected)
                {
                    DeleteProfile();
                }
                else if (Buttons[htButtons(ButtonPlayerName)].Selected)
                {
                    if (CProfiles.NumProfiles > 0 && _EditMode != EEditMode.PlayerName)
                    {
                        _EditMode = EEditMode.PlayerName;
                    }
                    else
                    {
                        _EditMode = EEditMode.None;
                    }
                }
                else 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);
                }
            }

            if (MouseEvent.RB)
            {
                CGraphics.FadeTo(EScreens.ScreenMain);
            }
            return(true);
        }