Пример #1
0
        private void SelectResolution(MenuPageEventArgs e)
        {
            if (_resolution960Button != _currentButton && _resolution960Button.State == ButtonStates.Selected)
            {
                _resolution960Button.SelectNoEvent();
            }

            if (_resolution1280Button != _currentButton && _resolutionDefaultButton != _currentButton && _resolution1280Button.State == ButtonStates.Selected)
            {
                _resolution1280Button.SelectNoEvent();
            }

            if (_resolution1600Button != _currentButton && _resolution1600Button.State == ButtonStates.Selected)
            {
                _resolution1600Button.SelectNoEvent();
            }

            if (_resolution1920Button != _currentButton && _resolution1920Button.State == ButtonStates.Selected)
            {
                _resolution1920Button.SelectNoEvent();
            }

            if ((_resolutionDefaultButton == _currentButton || _defaultsButton == _currentButton) && !(_resolution1280Button.State == ButtonStates.Selected))
            {
                _resolution1280Button.SelectNoEvent();
            }
        }
        private void ResetPreferences(MenuPageEventArgs e)
        {
            var args = e as ResetPreferencesEventArgs;

            if (args == null)
            {
                return;
            }

            if (args.Type == PreferenceTypes.All)
            {
                ResolutionChanged(new ResolutionChangeEventArgs(PreferenceValidator.DefaultResolution));
                _resourceManager.ResetPreferenceData();
            }
            else if (args.Type == PreferenceTypes.Keybinds)
            {
                _resourceManager.ResetPreferenceKeybinds();
                ((OptionsMenuPage)_menuPages[MenuPageNames.Options]).UpdateWithPreferenceData(DataHelper.PreferenceData);
            }
            else if (args.Type == PreferenceTypes.Resolution)
            {
                ResolutionChange(new ResolutionChangeEventArgs(PreferenceValidator.DefaultResolution));
            }
            else if (args.Type == PreferenceTypes.Volume)
            {
                _resourceManager.UpdatePreferenceVolumeData(PreferenceValidator.DefaultVolume);
            }
        }
Пример #3
0
        private void ChangeResolution(MenuPageEventArgs e)
        {
            var args = e as ResolutionChangeEventArgs;

            if (e == null)
            {
                return;
            }

            if (args.Resolution == Resolutions.r960x540)
            {
                if (graphics.PreferredBackBufferWidth != 960)
                {
                    graphics.PreferredBackBufferWidth = 960;
                }

                if (graphics.PreferredBackBufferHeight != 540)
                {
                    graphics.PreferredBackBufferHeight = 540;
                }
            }
            else if (args.Resolution == Resolutions.r1280x720)
            {
                if (graphics.PreferredBackBufferWidth != 1280)
                {
                    graphics.PreferredBackBufferWidth = 1280;
                }

                if (graphics.PreferredBackBufferHeight != 720)
                {
                    graphics.PreferredBackBufferHeight = 720;
                }
            }
            else if (args.Resolution == Resolutions.r1600x900)
            {
                if (graphics.PreferredBackBufferWidth != 1600)
                {
                    graphics.PreferredBackBufferWidth = 1600;
                }

                if (graphics.PreferredBackBufferHeight != 900)
                {
                    graphics.PreferredBackBufferHeight = 900;
                }
            }
            else if (args.Resolution == Resolutions.r1920x1080)
            {
                if (graphics.PreferredBackBufferWidth != 1920)
                {
                    graphics.PreferredBackBufferWidth = 1920;
                }

                if (graphics.PreferredBackBufferHeight != 1080)
                {
                    graphics.PreferredBackBufferHeight = 1080;
                }
            }

            graphics.ApplyChanges();
        }
        private void StartOrLoadGame(MenuPageEventArgs e)
        {
            // at this point we would already have the data loaded
            var args = e as StartOrLoadEventArgs;

            if (args == null)
            {
                return;
            }

            var fileNumber = args.FileNumber;

            DataHelper.CurrentFileNumber = fileNumber;
            var data = DataHelper.GetDataFromFileNumber(fileNumber);

            // the save data will have the proper information even it is a new game
            InitiateTransition(
                new RoamTransition()
            {
                Fade = true,
                DestinationCoords = new Vector2(data.PlayerLocation.X, data.PlayerLocation.Y),
                DestinationLevel  = data.PlayerLevel,
                DestinationRegion = data.PlayerRegion,
                DestinationZone   = data.PlayerZone,
            });
        }
Пример #5
0
        private void OnEraseFile(MenuPageEventArgs e)
        {
            _dialogOpen = true;
            var dialog = new MenuDialog();

            dialog.AddTextLine("Are you sure?");

            var yesButton = new MenuButton(new Vector2(0, 0), "Erase", ButtonStyles.Dialog, new EraseFileEventArgs(_fileHighlightIndex));

            yesButton.OnSelected += RaiseEraseFileEvent;
            yesButton.OnSelected += ResetFileButtons;
            yesButton.OnSelected += RaiseCloseDialogEvent;

            var noButton = new MenuButton(new Vector2(0, 0), "Cancel", ButtonStyles.Dialog, new CloseDialogEventArgs());

            noButton.OnSelected += RaiseCloseDialogEvent;
            noButton.OnSelected += ResetFileButtons;

            yesButton.LeftButton  = noButton;
            yesButton.RightButton = noButton;
            noButton.LeftButton   = yesButton;
            noButton.RightButton  = yesButton;

            dialog.AddButton(yesButton);
            dialog.AddButton(noButton);

            _currentDialog = dialog;
            _currentButton.DeHighlight();
            _currentButton = yesButton;
            _currentButton.Highlight();
        }
Пример #6
0
        private void OnSaveFile(MenuPageEventArgs e)
        {
            _dialogOpen = true;
            var dialog = new MenuDialog();

            dialog.AddTextLine("Saving...");
            _currentDialog = dialog;
        }
        private void OpenDialog(MenuPageEventArgs e)
        {
            var args = e as OpenDialogEventArgs;

            if (args == null)
            {
                return;
            }
        }
Пример #8
0
        protected void RaiseOpenDialogEvent(MenuPageEventArgs e)
        {
            if (e == null)
            {
                return;
            }

            OpenDialog(e);
        }
Пример #9
0
        protected void RaiseSwitchPageEvent(MenuPageEventArgs e)
        {
            if (e == null)
            {
                return;
            }

            SwitchPage(e);
        }
Пример #10
0
        protected void RaiseEraseFileEvent(MenuPageEventArgs e)
        {
            if (e == null)
            {
                return;
            }

            EraseFile(e);
        }
Пример #11
0
        protected void RaisePreferenceResetEvent(MenuPageEventArgs e)
        {
            if (e == null)
            {
                return;
            }

            ResetPreferences(e);
        }
Пример #12
0
        protected void RaiseResumeGameEvent(MenuPageEventArgs e)
        {
            if (e == null)
            {
                return;
            }

            ResumeGame(e);
        }
Пример #13
0
        protected void RaiseVolumeChangeEvent(MenuPageEventArgs e)
        {
            if (e == null)
            {
                return;
            }

            VolumeChange(e);
        }
Пример #14
0
        protected void RaiseResolutionChangeEvent(MenuPageEventArgs e)
        {
            if (e == null)
            {
                return;
            }

            ResolutionChange(e);
        }
Пример #15
0
        protected void RaiseKeybindChangeEvent(MenuPageEventArgs e)
        {
            if (e == null)
            {
                return;
            }

            KeybindChange(e);
        }
Пример #16
0
        protected void RaiseExitGameEvent(MenuPageEventArgs e)
        {
            if (e == null)
            {
                return;
            }

            ExitGame(e);
        }
Пример #17
0
        public MenuButton(Vector2 location, string text, ButtonStyles style, MenuPageEventArgs args, ButtonType type)
        {
            _location = location;
            _text     = text;
            _style    = style;
            _args     = args;
            _type     = type;

            _state    = ButtonStates.Enabled;
            _animator = new Animator(ButtonAnimator.GetAnimationsFromStyle(_style), (int)ButtonStates.Enabled, ButtonAnimator.GetImageSizeFromStyle(_style));
        }
        private void EraseFile(MenuPageEventArgs e)
        {
            var args = e as EraseFileEventArgs;

            if (args == null)
            {
                return;
            }

            _resourceManager.EraseFile(args.FileNumber);
        }
        private void ExitGame(MenuPageEventArgs e)
        {
            var args = e as ExitGameEventArgs;

            if (args == null)
            {
                return;
            }

            BeginExit(args);
        }
        private void VolumeChange(MenuPageEventArgs e)
        {
            var args = e as VolumeChangeEventArgs;

            if (args == null)
            {
                return;
            }

            _resourceManager.UpdatePreferenceVolumeData(args.Up);
        }
Пример #21
0
        private void ExitGame(MenuPageEventArgs e)
        {
            var args = e as ExitGameEventArgs;

            if (args == null)
            {
                return;
            }

            _resourceManager.Shutdown();
            this.Exit();
        }
        private void ResolutionChange(MenuPageEventArgs e)
        {
            var args = e as ResolutionChangeEventArgs;

            if (args == null)
            {
                return;
            }

            ResolutionChanged(args);
            _resourceManager.UpdatePreferenceResolutionData(args.Resolution);
        }
        private void KeybindChange(MenuPageEventArgs e)
        {
            var args = e as KeybindChangeEventArgs;

            if (args == null)
            {
                return;
            }

            _requestKeybindChange = true;
            _functionToChange     = args.Function;
        }
        private void CloseDialog(MenuPageEventArgs e)
        {
            var args = e as CloseDialogEventArgs;

            if (args == null)
            {
                return;
            }

            // leave it to the menus to highlight the proper button
            // really doesn't matter if buttons behind highlight slightly before
        }
        private void ResumeGame(MenuPageEventArgs e)
        {
            var args = e as ResumeGameEventArgs;

            if (args == null)
            {
                return;
            }

            InitiateTransition(new StateTransition()
            {
                Fade = false, DestinationState = GameStates.Roam
            });
        }
        private void SwitchMenuPage(MenuPageEventArgs e)
        {
            var args = e as SwitchPageEventArgs;

            if (args == null)
            {
                return;
            }

            foreach (var button in _activeMenuPage.Buttons)
            {
                button.FadeOut();
            }

            _switchPages    = true;
            _switchPageArgs = args;
        }
Пример #27
0
        private void OpenKeybindDialog(MenuPageEventArgs e)
        {
            var args = e as KeybindChangeEventArgs;

            if (args == null)
            {
                return;
            }

            _lastKeybindChanged = args.Button;

            var keyDialog = new MenuDialog();

            keyDialog.AddTextLine("Press any key or button.");

            _currentDialog = keyDialog;
            _dialogOpen    = true;
        }
        private void SaveGame(MenuPageEventArgs e)
        {
            var args = e as SaveGameEventArgs;

            if (args == null)
            {
                return;
            }

            _waitForSave = true;

            var msg = new SaveLoadMessage();

            msg.FileNumber = args.FileNumber;
            msg.Data       = DataHelper.GetSaveDataCopyForFileNumber(args.FileNumber);

            _resourceManager.RequestSave(msg);
        }
Пример #29
0
        private void OnErase(MenuPageEventArgs e)
        {
            _eraseButton.Disable();

            _file0Button.ResetEventHandlers();
            _file1Button.ResetEventHandlers();
            _file2Button.ResetEventHandlers();
            _file0Button.OnSelected += OnEraseFile;
            _file1Button.OnSelected += OnEraseFile;
            _file2Button.OnSelected += OnEraseFile;
            _file0Button.Args        = new OpenDialogEventArgs();
            _file1Button.Args        = new OpenDialogEventArgs();
            _file2Button.Args        = new OpenDialogEventArgs();
            _file0Button.OnSelected += RaiseOpenDialogEvent;
            _file1Button.OnSelected += RaiseOpenDialogEvent;
            _file2Button.OnSelected += RaiseOpenDialogEvent;

            HighlightFileBasedOnIndex();
        }
Пример #30
0
        private void OnLoadFile(MenuPageEventArgs e)
        {
            _dialogOpen        = true;
            _loadConfirmDialog = new MenuDialog();
            _loadConfirmDialog.AddTextLine("Any unsaved progress will be lost.");

            var okButton = new MenuButton(new Vector2(0, 0), "Ok", ButtonStyles.Dialog, new StartOrLoadEventArgs(_fileHighlightIndex));

            okButton.OnSelected += RaiseLoadGameEvent;
            okButton.OnSelected += RaiseCloseDialogEvent;

            var cancelButton = new MenuButton(new Vector2(0, 0), "Cancel", ButtonStyles.Dialog, new CloseDialogEventArgs());

            cancelButton.OnSelected += RaiseCloseDialogEvent;
            cancelButton.OnSelected += ResetFileButtons;

            _loadConfirmDialog.AddButton(okButton);
            _loadConfirmDialog.AddButton(cancelButton);

            _currentDialog = _loadConfirmDialog;
            _currentButton.DeHighlight();
            _currentButton = okButton;
            _currentButton.Highlight();
        }