public FileSelectMenuPage() : base() { _name = MenuPageNames.FileSelect; _fileHighlightIndex = 0; _utilityButtonHighlightIndex = 0; _file0Button = new MenuButton(FILE_0_BUTTON_LOCATION, string.Empty, ButtonStyles.FileSelect, new StartOrLoadEventArgs(0)); _file1Button = new MenuButton(FILE_1_BUTTON_LOCATION, string.Empty, ButtonStyles.FileSelect, new StartOrLoadEventArgs(1)); _file2Button = new MenuButton(FILE_2_BUTTON_LOCATION, string.Empty, ButtonStyles.FileSelect, new StartOrLoadEventArgs(2)); _backButton = new MenuButton(BACK_LOCATION, BACK_TEXT, ButtonStyles.SmallBack, new SwitchPageEventArgs(MenuPageNames.Start, _name)); _eraseButton = new MenuButton(ERASE_LOCATION, ERASE_TEXT, ButtonStyles.SmallBack, new PageEventArgs()); _file0Button.RightButton = _file1Button; _file0Button.LeftButton = _file2Button; _file1Button.RightButton = _file2Button; _file1Button.LeftButton = _file0Button; _file2Button.RightButton = _file0Button; _file2Button.LeftButton = _file1Button; _file0Button.DownButton = _backButton; _file1Button.DownButton = _backButton; _file2Button.DownButton = _backButton; _backButton.LeftButton = _eraseButton; _backButton.RightButton = _eraseButton; _eraseButton.LeftButton = _backButton; _eraseButton.RightButton = _backButton; _backButton.UpButton = _file1Button; _eraseButton.UpButton = _file1Button; // maybe need another menu page for file erase? _buttons.Add(_file0Button); _buttons.Add(_file1Button); _buttons.Add(_file2Button); _buttons.Add(_backButton); _buttons.Add(_eraseButton); _file0Button.OnSelected += RaiseLoadGameEvent; _file1Button.OnSelected += RaiseLoadGameEvent; _file2Button.OnSelected += RaiseLoadGameEvent; _backButton.OnSelected += RaiseSwitchPageEvent; _eraseButton.OnSelected += OnErase; _currentButton = _file0Button; _onFileButtons = true; _previousMenuArgs = new SwitchPageEventArgs(MenuPageNames.Start, _name); }
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; }
public override void EnterMenu(MenuPageNames name, PreferenceData data) { UnhideAllButtons(); UpdateWithPreferenceData(data); if (name == MenuPageNames.ExitMenu) { _previousMenuArgs = new SwitchPageEventArgs(MenuPageNames.ExitMenu, _name); } else { _previousMenuArgs = new SwitchPageEventArgs(MenuPageNames.Start, _name); } _menuBackButton.Args = _previousMenuArgs; // to be honest i'm not sure if we even have to do this _currentButton = _menuBackButton; _currentButton.Highlight(); }
public override void EnterMenu(MenuPageNames name, PreferenceData data) { UnhideAllButtons(); UpdateWithPreferenceData(data); _backButton.Enable(); _eraseButton.Enable(); HighlightFileBasedOnIndex(); if (name == MenuPageNames.Start) { _previousMenuArgs = new SwitchPageEventArgs(MenuPageNames.Start, _name); _backButton.Args = _previousMenuArgs; ResetFileButtons(); } else { _previousMenuArgs = new SwitchPageEventArgs(MenuPageNames.ExitMenu, _name); _backButton.Args = _previousMenuArgs; } }
public OptionsMenuPage() : base() { _name = MenuPageNames.Options; _previousMenuArgs = new SwitchPageEventArgs(MenuPageNames.Start, _name); // the resolution menu buttons don't have text // the keybind buttons need to have their text set via preference data // the movement keybind buttons need to be disabled when a controller is connected? // might want to change these resolutions to only change on apply? _resolution960Button = new MenuButton(RESOLUTION_960x540_LOCATION, string.Empty, ButtonStyles.Resolution, new ResolutionChangeEventArgs(Resolutions.r960x540), ButtonType.Radio); _resolution1280Button = new MenuButton(RESOLUTION_1280x720_LOCATION, string.Empty, ButtonStyles.Resolution, new ResolutionChangeEventArgs(Resolutions.r1280x720), ButtonType.Radio); _resolution1600Button = new MenuButton(RESOLUTION_1600x900_LOCATION, string.Empty, ButtonStyles.Resolution, new ResolutionChangeEventArgs(Resolutions.r1600x900), ButtonType.Radio); _resolution1920Button = new MenuButton(RESOLUTION_1920x1080_LOCATION, string.Empty, ButtonStyles.Resolution, new ResolutionChangeEventArgs(Resolutions.r1920x1080), ButtonType.Radio); _resolutionDefaultButton = new MenuButton(RESOLUTION_DEFAULT_LOCATION, string.Empty, ButtonStyles.SmallBack, new ResetPreferencesEventArgs(PreferenceTypes.Resolution), ButtonType.Radio); _volumeUpButton = new MenuButton(VOLUME_UP_LOCATION, VOLUME_UP_TEXT, ButtonStyles.Volume, new VolumeChangeEventArgs(true)); _volumeDownButton = new MenuButton(VOLUME_DOWN_LOCATION, VOLUME_DOWN_TEXT, ButtonStyles.Volume, new VolumeChangeEventArgs(false)); _volumeDefaultButton = new MenuButton(VOLUME_DEFAULT_LOCATION, DEFAULT_TEXT, ButtonStyles.SmallBack, new ResetPreferencesEventArgs(PreferenceTypes.Volume)); _moveUpButton = new MenuButton(MOVE_UP_LOCATION, string.Empty, ButtonStyles.Keybind, null); _moveDownButton = new MenuButton(MOVE_DOWN_LOCATION, string.Empty, ButtonStyles.Keybind, null); _moveLeftButton = new MenuButton(MOVE_LEFT_LOCATION, string.Empty, ButtonStyles.Keybind, null); _moveRightButton = new MenuButton(MOVE_RIGHT_LOCATION, string.Empty, ButtonStyles.Keybind, null); _confirmButton = new MenuButton(CONFIRM_LOCATION, string.Empty, ButtonStyles.Keybind, null); _backButton = new MenuButton(BACK_LOCATION, string.Empty, ButtonStyles.Keybind, null); _castButton = new MenuButton(CAST_LOCATION, string.Empty, ButtonStyles.Keybind, null); _cycleButton = new MenuButton(CYCLE_LOCATION, string.Empty, ButtonStyles.Keybind, null); _startButton = new MenuButton(START_LOCATION, string.Empty, ButtonStyles.Keybind, null); _keysDefaultButton = new MenuButton(KEYBIND_DEFAULT_LOCATION, DEFAULTS_TEXT, ButtonStyles.SmallBack, new ResetPreferencesEventArgs(PreferenceTypes.Keybinds)); _moveUpButton.Args = new KeybindChangeEventArgs(ControlFunctions.MoveUp, _moveUpButton); _moveDownButton.Args = new KeybindChangeEventArgs(ControlFunctions.MoveDown, _moveDownButton); _moveLeftButton.Args = new KeybindChangeEventArgs(ControlFunctions.MoveLeft, _moveLeftButton); _moveRightButton.Args = new KeybindChangeEventArgs(ControlFunctions.MoveRight, _moveRightButton); _confirmButton.Args = new KeybindChangeEventArgs(ControlFunctions.Confirm, _confirmButton); _backButton.Args = new KeybindChangeEventArgs(ControlFunctions.Back, _backButton); _castButton.Args = new KeybindChangeEventArgs(ControlFunctions.Cast, _castButton); _cycleButton.Args = new KeybindChangeEventArgs(ControlFunctions.Cycle, _cycleButton); _startButton.Args = new KeybindChangeEventArgs(ControlFunctions.Menu, _startButton); _defaultsButton = new MenuButton(DEFAULTS_LOCATION, DEFAULTS_TEXT, ButtonStyles.SmallBack, new ResetPreferencesEventArgs(PreferenceTypes.All)); _menuBackButton = new MenuButton(MENU_BACK_LOCATION, BACK_TEXT, ButtonStyles.SmallBack, _previousMenuArgs); // need to change this if enter from exit #region Tie Together Buttons _moveUpButton.UpButton = _moveRightButton; _moveUpButton.DownButton = _moveDownButton; _moveUpButton.LeftButton = _resolution960Button; _moveUpButton.RightButton = _confirmButton; _moveDownButton.UpButton = _moveUpButton; _moveDownButton.DownButton = _moveLeftButton; _moveDownButton.LeftButton = _resolution1600Button; _moveDownButton.RightButton = _backButton; _moveLeftButton.UpButton = _moveDownButton; _moveLeftButton.DownButton = _moveRightButton; _moveLeftButton.LeftButton = _resolution1920Button; _moveLeftButton.RightButton = _castButton; _moveRightButton.UpButton = _moveLeftButton; _moveRightButton.DownButton = _moveUpButton; _moveRightButton.LeftButton = _resolutionDefaultButton; _moveRightButton.RightButton = _cycleButton; _confirmButton.UpButton = _keysDefaultButton; _confirmButton.DownButton = _backButton; _confirmButton.LeftButton = _moveUpButton; _confirmButton.RightButton = _resolution960Button; _backButton.UpButton = _confirmButton; _backButton.DownButton = _castButton; _backButton.LeftButton = _moveDownButton; _backButton.RightButton = _resolution1600Button; _castButton.UpButton = _backButton; _castButton.DownButton = _cycleButton; _castButton.LeftButton = _moveLeftButton; _castButton.RightButton = _resolution1920Button; _cycleButton.UpButton = _castButton; _cycleButton.DownButton = _startButton; _cycleButton.LeftButton = _moveRightButton; _cycleButton.RightButton = _resolutionDefaultButton; _startButton.UpButton = _cycleButton; _startButton.DownButton = _keysDefaultButton; _startButton.LeftButton = _volumeUpButton; _startButton.RightButton = _volumeDownButton; _keysDefaultButton.UpButton = _startButton; _keysDefaultButton.DownButton = _confirmButton; _keysDefaultButton.LeftButton = _volumeDefaultButton; _keysDefaultButton.RightButton = _volumeDefaultButton; _resolution960Button.UpButton = _defaultsButton; _resolution960Button.DownButton = _resolution1280Button; _resolution960Button.LeftButton = _confirmButton; _resolution960Button.RightButton = _moveUpButton; _resolution1280Button.UpButton = _resolution960Button; _resolution1280Button.DownButton = _resolution1600Button; _resolution1280Button.LeftButton = _confirmButton; _resolution1280Button.RightButton = _moveUpButton; _resolution1600Button.UpButton = _resolution1280Button; _resolution1600Button.DownButton = _resolution1920Button; _resolution1600Button.LeftButton = _backButton; _resolution1600Button.RightButton = _moveDownButton; _resolution1920Button.UpButton = _resolution1600Button; _resolution1920Button.DownButton = _resolutionDefaultButton; _resolution1920Button.LeftButton = _castButton; _resolution1920Button.RightButton = _moveLeftButton; _resolutionDefaultButton.UpButton = _resolution1920Button; _resolutionDefaultButton.DownButton = _volumeUpButton; _resolutionDefaultButton.LeftButton = _cycleButton; _resolutionDefaultButton.RightButton = _moveRightButton; _volumeUpButton.UpButton = _resolutionDefaultButton; _volumeUpButton.DownButton = _volumeDefaultButton; _volumeUpButton.LeftButton = _volumeDownButton; _volumeUpButton.RightButton = _startButton; _volumeDownButton.UpButton = _resolutionDefaultButton; _volumeDownButton.DownButton = _volumeDefaultButton; _volumeDownButton.LeftButton = _startButton; _volumeDownButton.RightButton = _volumeUpButton; _volumeDefaultButton.UpButton = _volumeUpButton; _volumeDefaultButton.DownButton = _menuBackButton; _volumeDefaultButton.LeftButton = _keysDefaultButton; _volumeDefaultButton.RightButton = _keysDefaultButton; _defaultsButton.LeftButton = _menuBackButton; _defaultsButton.RightButton = _menuBackButton; _defaultsButton.UpButton = _volumeDefaultButton; _defaultsButton.DownButton = _resolution960Button; _menuBackButton.LeftButton = _defaultsButton; _menuBackButton.RightButton = _defaultsButton; _menuBackButton.UpButton = _volumeDefaultButton; _menuBackButton.DownButton = _resolution960Button; #endregion _lastKeybindChanged = _confirmButton; #region Events _resolution960Button.OnSelected += RaiseResolutionChangeEvent; _resolution960Button.OnSelected += SelectResolution; _resolution1280Button.OnSelected += RaiseResolutionChangeEvent; _resolution1280Button.OnSelected += SelectResolution; _resolution1600Button.OnSelected += RaiseResolutionChangeEvent; _resolution1600Button.OnSelected += SelectResolution; _resolution1920Button.OnSelected += RaiseResolutionChangeEvent; _resolution1920Button.OnSelected += SelectResolution; _resolutionDefaultButton.OnSelected += RaisePreferenceResetEvent; _resolutionDefaultButton.OnSelected += SelectResolution; _volumeUpButton.OnSelected += RaiseVolumeChangeEvent; _volumeDownButton.OnSelected += RaiseVolumeChangeEvent; _volumeDefaultButton.OnSelected += RaisePreferenceResetEvent; // maybe change all these to open dialog events? _moveUpButton.OnSelected += RaiseKeybindChangeEvent; _moveDownButton.OnSelected += RaiseKeybindChangeEvent; _moveLeftButton.OnSelected += RaiseKeybindChangeEvent; _moveRightButton.OnSelected += RaiseKeybindChangeEvent; _confirmButton.OnSelected += RaiseKeybindChangeEvent; _backButton.OnSelected += RaiseKeybindChangeEvent; _castButton.OnSelected += RaiseKeybindChangeEvent; _cycleButton.OnSelected += RaiseKeybindChangeEvent; _startButton.OnSelected += RaiseKeybindChangeEvent; _keysDefaultButton.OnSelected += RaisePreferenceResetEvent; _moveUpButton.OnSelected += OpenKeybindDialog; _moveDownButton.OnSelected += OpenKeybindDialog; _moveLeftButton.OnSelected += OpenKeybindDialog; _moveRightButton.OnSelected += OpenKeybindDialog; _confirmButton.OnSelected += OpenKeybindDialog; _backButton.OnSelected += OpenKeybindDialog; _castButton.OnSelected += OpenKeybindDialog; _cycleButton.OnSelected += OpenKeybindDialog; _startButton.OnSelected += OpenKeybindDialog; _defaultsButton.OnSelected += RaisePreferenceResetEvent; _defaultsButton.OnSelected += SelectResolution; _menuBackButton.OnSelected += RaiseSwitchPageEvent; #endregion _buttons.Add(_resolution960Button); _buttons.Add(_resolution1280Button); _buttons.Add(_resolution1600Button); _buttons.Add(_resolution1920Button); _buttons.Add(_resolutionDefaultButton); _buttons.Add(_volumeUpButton); _buttons.Add(_volumeDownButton); _buttons.Add(_volumeDefaultButton); _buttons.Add(_moveUpButton); _buttons.Add(_moveDownButton); _buttons.Add(_moveLeftButton); _buttons.Add(_moveRightButton); _buttons.Add(_confirmButton); _buttons.Add(_backButton); _buttons.Add(_castButton); _buttons.Add(_cycleButton); _buttons.Add(_startButton); _buttons.Add(_keysDefaultButton); _buttons.Add(_defaultsButton); _buttons.Add(_menuBackButton); }