Beispiel #1
0
        private void ShowFlyoutMenu(object sender, RoutedEventArgs e)
        {
            Callisto.Controls.Flyout f = new Callisto.Controls.Flyout();
            f.PlacementTarget = sender as UIElement;
            f.Placement       = PlacementMode.Top;
            f.Closed         += (x, y) =>
            {
                LogEvent("Event: Closed");
            };

            Menu menu = new Menu();

            MenuItem mi = new MenuItem();

            mi.Tag            = "Easy";
            mi.Tapped        += ItemClicked;
            mi.Text           = "Easy Game";
            mi.MenuTextMargin = new Thickness(28, 10, 28, 12);

            MenuItem mi2 = new MenuItem();

            mi2.Text           = "Medium Game";
            mi2.Tag            = "Medium";
            mi2.Tapped        += ItemClicked;
            mi2.MenuTextMargin = new Thickness(28, 10, 28, 12);

            MenuItem mi3 = new MenuItem();

            mi3.Text             = "Hard Game";
            mi3.Command          = new CommandTest();
            mi3.CommandParameter = "test param from command";
            mi3.MenuTextMargin   = new Thickness(28, 10, 28, 12);

            ToggleMenuItem tmi = new ToggleMenuItem();

            tmi.Text      = "Enable Logging";
            tmi.IsChecked = chk;
            tmi.Tapped   += (a, b) =>
            {
                chk = !chk;
            };

            menu.Items.Add(mi);
            menu.Items.Add(mi2);
            menu.Items.Add(new MenuItemSeparator());
            menu.Items.Add(new MenuItem()
            {
                Text = "Foobar something really long", Tag = "Long menu option", MenuTextMargin = new Thickness(28, 10, 28, 12)
            });
            menu.Items.Add(tmi);
            menu.Items.Add(new MenuItemSeparator());
            menu.Items.Add(mi3);
            f.HostMargin = new Thickness(0); // on menu flyouts set HostMargin to 0
            f.Content    = menu;
            f.IsOpen     = true;

            ObjectTracker.Track(f);

            UpdateLayout();
        }
        private void FilterButton_Click(object sender, RoutedEventArgs e)
        {
            DataTransferManager.GetForCurrentView().DataRequested -= new TypedEventHandler <DataTransferManager, DataRequestedEventArgs>(this.DataRequested);
            Flyout flyout = new Flyout();

            flyout.PlacementTarget = sender as UIElement;
            flyout.Placement       = PlacementMode.Top;
            flyout.HostMargin      = new Thickness(0);

            Menu menu = new Menu();

            ToggleMenuItem filterByTag_menuItem = new ToggleMenuItem();

            filterByTag_menuItem.Text    = "by Tag";
            filterByTag_menuItem.Command = new NavigateToFilterTypeCommand(sender, "tag");
            menu.Items.Add(filterByTag_menuItem);

            ToggleMenuItem filterByCategory_menuItem = new ToggleMenuItem();

            filterByCategory_menuItem.Text    = "by Category";
            filterByCategory_menuItem.Command = new NavigateToFilterTypeCommand(sender, "category");
            menu.Items.Add(filterByCategory_menuItem);

            menu.MaxHeight = 300;

            flyout.Content = menu;
            flyout.IsOpen  = true;

            UpdateLayout();
        }
Beispiel #3
0
        public override List <MenuItem> MakeMenu()
        {
            EnterMenuItem soundOptionsMenuItem = new EnterMenuItem(m_Game, "Sound Options", m_GameScreen);

            soundOptionsMenuItem.EnterPressed += SoundOptionsMenuItem_EnterPressed;
            m_MenuItems.Add(soundOptionsMenuItem);

            EnterMenuItem screenOptionsMenuItem = new EnterMenuItem(m_Game, "Screen Options", m_GameScreen);

            screenOptionsMenuItem.EnterPressed += ScreenOptionsMenuItem_EnterPressed;
            m_MenuItems.Add(screenOptionsMenuItem);

            ToggleMenuItem <string, int> playersNumMenuItem = new ToggleMenuItem <string, int>(m_Game, m_GameScreen, new List <string> {
                "One", "Two"
            }, new List <int> {
                1, 2
            }, "Players: ");

            playersNumMenuItem.CorrespondingToggledItem = m_GameSettingsManager.NumOfPlayers;
            playersNumMenuItem.Toggle += numberOfPlayersChanged;
            m_MenuItems.Add(playersNumMenuItem);

            EnterMenuItem play = new EnterMenuItem(m_Game, "Play", m_GameScreen);

            play.EnterPressed += Play_EnterPressed;
            m_MenuItems.Add(play);

            EnterMenuItem quit = new EnterMenuItem(m_Game, "Quit", m_GameScreen);

            quit.EnterPressed += Quit_EnterPressed;
            m_MenuItems.Add(quit);

            return(m_MenuItems);
        }
Beispiel #4
0
        private ToggleMenuItem createMenuItem(float opacity)
        {
            var item = new ToggleMenuItem($"{opacity * 100}%", MenuItemType.Standard, _ => updateOpacity(opacity));

            menuItemLookup[opacity] = item;
            return(item);
        }
Beispiel #5
0
 private ToggleMenuItem[] createMenuItems()
 {
     return(ValidEnums.Select(e =>
     {
         var item = new ToggleMenuItem(GetName(e), MenuItemType.Standard, _ => UpdateSelection(e));
         return item;
     }).ToArray());
 }
Beispiel #6
0
 public SoundsOptionsCreatorScreen(BaseGame i_Game, GameScreen i_GameScreen) : base(i_Game, i_GameScreen)
 {
     m_SoundsManager       = m_Game.Services.GetService(typeof(ISoundManager)) as ISoundManager;
     m_SoundToggleMenuItem = new ToggleMenuItem <string, bool>(m_Game, m_GameScreen, new List <string> {
         "Off", "On"
     }, new List <bool> {
         false, true
     }, "Toggle Sound: ");
 }
            public async void Execute(object param)
            {
                FeedDataSource feedDataSource = (FeedDataSource)App.Current.Resources["feedDataSource"];

                if (feedDataSource == null)
                {
                    return;
                }

                //Shouldn't need this now, but I'll leave it here
                ProgressRing filter_ring = new ProgressRing();

                filter_ring.IsActive = true;
                Flyout flyout = new Flyout();

                flyout.PlacementTarget = sender as UIElement;
                flyout.Placement       = PlacementMode.Top;
                flyout.HostMargin      = new Thickness(0);
                Border b = new Border();

                b.Width        = 20;
                b.Height       = 20;
                b.Child        = filter_ring;
                flyout.Content = b;
                flyout.IsOpen  = true;

                Menu menu = new Menu();

                menu.MaxHeight = 300;

                switch (type)
                {
                case "category":
                    foreach (Category item in feedDataSource.CategoryList.categories)
                    {
                        ToggleMenuItem menuItem = new ToggleMenuItem();
                        menuItem.Text    = item.title;
                        menuItem.Command = new MenuCategoryCommand(item.slug, item.title);
                        menu.Items.Add(menuItem);
                    }
                    break;

                case "tag":
                default:
                    foreach (Tag item in feedDataSource.TagList.tags)
                    {
                        ToggleMenuItem menuItem = new ToggleMenuItem();
                        menuItem.Text    = item.title;
                        menuItem.Command = new MenuTagCommand(item.slug, item.title);
                        menu.Items.Add(menuItem);
                    }
                    break;
                }

                flyout.Content = menu;
            }
Beispiel #8
0
        private ToggleMenuItem[] createMenuItems()
        {
            var sizes = FontUtils.DefaultPreviewFontSize();

            return(sizes.Select(e =>
            {
                var item = new ToggleMenuItem(FontUtils.GetText(e), MenuItemType.Standard, _ => updateMode(e));
                return item;
            }).ToArray());
        }
Beispiel #9
0
        public MainMenu(Game i_Game) : base(i_Game, "Main menu")
        {
            ToggleMenuItem playersItem = new ToggleMenuItem(i_Game, "Players: ", new Vector2(100, 100), m_GameSettings.NumOfPlayers == 2, "Two", "One", m_ActiveMenuItemColor, m_InactiveMenuItemColor);

            playersItem.ValueChanged += new Action <bool>((i_Value) => m_GameSettings.NumOfPlayers = i_Value ? 2 : 1);
            AddMenuItem(playersItem);
            AddMenuItem(new ActionMenuItem(i_Game, "Screen Settings", new Vector2(100, 120), new Action(() => ScreensManager.SetCurrentScreen(new ScreenSettingsScreen(i_Game))), m_ActiveMenuItemColor, m_InactiveMenuItemColor));
            AddMenuItem(new ActionMenuItem(i_Game, "Sound Settings", new Vector2(100, 140), new Action(() => ScreensManager.SetCurrentScreen(new SoundSettingsScreen(i_Game))), m_ActiveMenuItemColor, m_InactiveMenuItemColor));
            AddMenuItem(new ActionMenuItem(i_Game, "Play", new Vector2(100, 160), new Action(() => { ScreensManager.Push(new PlayScreen(i_Game)); ScreensManager.SetCurrentScreen(new NextLevelScreen(i_Game, 0)); }), m_ActiveMenuItemColor, m_InactiveMenuItemColor));
            AddMenuItem(new ActionMenuItem(i_Game, "Quit", new Vector2(100, 180), new Action(() => i_Game.Exit()), m_ActiveMenuItemColor, Color.White));
        }
 protected override void InitMenuItems()
 {
     TextMenuItem screenOptionsItem = new TextMenuItem("Screen Options", this, new MethodKey() { MethodToRun = openScreenOptionsScreen, ActivateKey = Keys.Enter });
     ToggleMenuItem playersItem = new ToggleMenuItem(
         "Players:", this, m_MultiPlayerConfiguration.NumberOfPlayers.ToString(), new List<string>() { "One", "Two" }, Keys.Enter, new MethodKey() { MethodToRun = m_MultiPlayerConfiguration.ChangeToTwoPlayers, ActivateKey = Keys.PageDown }, new MethodKey() { MethodToRun = m_MultiPlayerConfiguration.ChangeToOnePlayer, ActivateKey = Keys.PageUp });
     TextMenuItem soundOptionsItem = new TextMenuItem("Sound Options", this, new MethodKey() { MethodToRun = openSoundOptionsScreen, ActivateKey = Keys.Enter });
     TextMenuItem playItem = new TextMenuItem("Play", this, new MethodKey() { MethodToRun = startPlay, ActivateKey = Keys.Enter });
     TextMenuItem quitItem = new TextMenuItem("Quit", this, new MethodKey() { MethodToRun = quitGame, ActivateKey = Keys.Enter });
     AddMenuItems(screenOptionsItem, playersItem, soundOptionsItem, playItem, quitItem);
     TextServices.CenterTextsOnScreen(this, null, new List<GameMenuItem>() { screenOptionsItem, playersItem, soundOptionsItem, playItem, quitItem });
 }
 protected override void InitMenuItems()
 {
     ToggleMenuItem toggleSoundItem = new ToggleMenuItem(
         "Toggle Sound:", this, m_SpaceInvadersSoundsManager.SoundStatus, new List<string>() { "On", "Off" }, Keys.Enter, new MethodKey() { MethodToRun = m_SpaceInvadersSoundsManager.Mute, ActivateKey = Microsoft.Xna.Framework.Input.Keys.PageDown }, new MethodKey() { MethodToRun = m_SpaceInvadersSoundsManager.Play, ActivateKey = Microsoft.Xna.Framework.Input.Keys.PageUp });
     RangeMenuItem backgroundVolumeItem = new RangeMenuItem(
         "Background Music Vol:", this, (int)(m_SpaceInvadersSoundsManager.BackgroundSound.Volume * 100), 0, 100, 10, new MethodKey() { MethodToRun = m_SpaceInvadersSoundsManager.DecreaseBackgroundMusic, ActivateKey = Keys.PageDown }, new MethodKey() { MethodToRun = m_SpaceInvadersSoundsManager.IncreaseBackgroundMusic, ActivateKey = Keys.PageUp });
     RangeMenuItem soundsEffectsVolumeItem = new RangeMenuItem(
         "Sounds Effects Vol:", this, (int)(m_SpaceInvadersSoundsManager.SoundEffect.Volume * 100), 0, 100, 10, new MethodKey() { MethodToRun = m_SpaceInvadersSoundsManager.DecreaseSoundEffect, ActivateKey = Keys.PageDown }, new MethodKey() { MethodToRun = m_SpaceInvadersSoundsManager.IncreaseSoundEffect, ActivateKey = Keys.PageUp });
     TextMenuItem doneItem = new TextMenuItem(
         "Done", this, new MethodKey() { MethodToRun = done, ActivateKey = Keys.Enter });
     AddMenuItems(toggleSoundItem, backgroundVolumeItem, soundsEffectsVolumeItem, doneItem);
 }
 protected override void InitMenuItems()
 {
     ToggleMenuItem mouseVisabilityItem = new ToggleMenuItem(
         "Mouse Visability:", this, m_ScreenOptionsMng.MouseVisibleStatus, new List<string>() { "Visible", "Invisible" }, Keys.Enter, new MethodKey() { MethodToRun = m_ScreenOptionsMng.MouseVisibilityOff, ActivateKey = Keys.PageDown }, new MethodKey() { MethodToRun = m_ScreenOptionsMng.MouseVisibilityOn, ActivateKey = Keys.PageUp });
     ToggleMenuItem fullScreenItem = new ToggleMenuItem(
         "Full Screen Mode:", this, m_ScreenOptionsMng.FullScreenMode, new List<string>() { "On", "Off" }, Keys.Enter, new MethodKey() { MethodToRun = m_ScreenOptionsMng.FullScreenOff, ActivateKey = Keys.PageDown }, new MethodKey() { MethodToRun = m_ScreenOptionsMng.FullScreenOn, ActivateKey = Keys.PageUp });
     ToggleMenuItem allowResizingItem = new ToggleMenuItem(
         "Allow Window Resizing:", this, m_ScreenOptionsMng.AllowWindowResizingMode, new List<string>() { "On", "Off" }, Keys.Enter, new MethodKey() { MethodToRun = m_ScreenOptionsMng.DisallowWindowResizing, ActivateKey = Keys.PageDown }, new MethodKey() { MethodToRun = m_ScreenOptionsMng.AllowWindowResizing, ActivateKey = Keys.PageUp });
     TextMenuItem doneItem = new TextMenuItem(
         "Done", this, new MethodKey() { MethodToRun = this.done, ActivateKey = Keys.Enter });
     AddMenuItems(mouseVisabilityItem, fullScreenItem, allowResizingItem, doneItem);
 }
Beispiel #13
0
        public MainMenu(Game i_Game, LevelTransitionScreeen i_TransitionScreen, PlayGameScreen i_GameScreen) : base(i_Game, "Main Menu")
        {
            m_TransitionionScreen = i_TransitionScreen;
            m_GameScreen          = i_GameScreen;
            this.AddItem(new MenuItem(Game, this, new SoundOptions(i_Game, this), "Sound Options"));
            this.AddItem(new MenuItem(Game, this, new ScreenOptions(i_Game, this), "Screen Options"));
            ToggleMenuItem TwoPlayers =
                new ToggleMenuItem(Game, this, "Two Players", SpaceInvadersSettings.GetInstance(Game).TwoPlayers);

            TwoPlayers.ValueChanged += TwoPlayersValueChangedHandler;
            this.AddItem(TwoPlayers);
            this.AddItem(new FunctionMenuItem(Game, this, "Play", play));
            this.AddItem(new FunctionMenuItem(Game, this, "Quit", quit));
        }
        private ToggleMenuItem createToggleMenu(string menu, KaraokeRulesetEditSetting setting)
        {
            var bindable = new Bindable <bool>();
            var menuItem = new ToggleMenuItem(menu, MenuItemType.Standard, _ => bindable.Value = !bindable.Value);

            // create bindable
            bindable.BindValueChanged(e =>
            {
                menuItem.State.Value = e.NewValue;
            }, true);
            config.BindWith(setting, bindable);

            return(menuItem);
        }
Beispiel #15
0
        private void handleKeyboard()
        {
            if (InputManager.KeyPressed(Keys.Up))
            {
                m_ActiveMenuItemIndex = (m_ActiveMenuItemIndex - 1) >= 0 ? (m_ActiveMenuItemIndex - 1) : (Menu.Count - 1);
            }
            else if (InputManager.KeyPressed(Keys.Down))
            {
                m_ActiveMenuItemIndex = (m_ActiveMenuItemIndex + 1) <= (Menu.Count - 1) ? (m_ActiveMenuItemIndex + 1) : 0;
            }
            else if (InputManager.KeyPressed(Keys.Enter))
            {
                if (m_ActiveMenuItemIndex >= 0)
                {
                    m_Menu[m_ActiveMenuItemIndex].RunMethod(Keys.Enter);
                }
            }

            if (m_ActiveMenuItemIndex > -1)
            {
                activateCurrentMenuItem();
                ToggleMenuItem toggleItem = m_Menu[m_ActiveMenuItemIndex] as ToggleMenuItem;
                if (toggleItem != null)
                {
                    if (InputManager.KeyPressed(toggleItem.ToggleRightMethod.ActivateKey))
                    {
                        toggleItem.ToggleRight();
                    }
                    else if (InputManager.KeyPressed(toggleItem.ToggleLeftMethod.ActivateKey))
                    {
                        toggleItem.ToggleLeft();
                    }
                }
                else
                {
                    RangeMenuItem rangeItem = m_Menu[m_ActiveMenuItemIndex] as RangeMenuItem;
                    if (rangeItem != null)
                    {
                        if (InputManager.KeyPressed(rangeItem.DecreaseMethod.ActivateKey))
                        {
                            rangeItem.DecreaseJump();
                        }
                        else if (InputManager.KeyPressed(rangeItem.IncreaseMethod.ActivateKey))
                        {
                            rangeItem.IncreaseJump();
                        }
                    }
                }
            }
        }
Beispiel #16
0
        public SoundSettingsScreen(Game i_Game) : base(i_Game, "Sound Settings")
        {
            ToggleMenuItem toggleSound = new ToggleMenuItem(i_Game, "Toggle sound: ", new Vector2(100, 100), m_GameSettings.Muted, "Off", "On", m_ActiveMenuItemColor, m_InactiveMenuItemColor);

            toggleSound.ValueChanged += new Action <bool>((i_Value) => m_GameSettings.ToggleSound());
            AddMenuItem(toggleSound);
            RangeMenuItem backgroundMusicVol = new RangeMenuItem(i_Game, "Background Music Volume: ", new Vector2(100, 120), 100, 0, (int)(m_GameSettings.BackgroundMusicVol * 100), 10, m_ActiveMenuItemColor, m_InactiveMenuItemColor);

            backgroundMusicVol.ValueChanged += new Action <int>((i_Value) => m_GameSettings.BackgroundMusicVol = ((float)i_Value) / 100);
            AddMenuItem(backgroundMusicVol);
            RangeMenuItem soundEffectsVol = new RangeMenuItem(i_Game, "Sound Effects Volume: ", new Vector2(100, 140), 100, 0, (int)(m_GameSettings.SoundsEffectsVol * 100), 10, m_ActiveMenuItemColor, m_InactiveMenuItemColor);

            soundEffectsVol.ValueChanged += new Action <int>((i_Value) => m_GameSettings.SoundsEffectsVol = ((float)i_Value) / 100);
            AddMenuItem(soundEffectsVol);
            AddMenuItem(new ActionMenuItem(i_Game, "Done", new Vector2(100, 160), new Action(() => ExitScreen()), m_ActiveMenuItemColor, m_InactiveMenuItemColor));
        }
Beispiel #17
0
        public ScreenSettingsScreen(Game i_Game) : base(i_Game, "Screen Settings")
        {
            ToggleMenuItem mouseVisibilty = new ToggleMenuItem(i_Game, "Mouse visability: ", new Vector2(100, 100), m_GameSettings.MouseVisible, "Visible", "Invisible", m_ActiveMenuItemColor, m_InactiveMenuItemColor);

            mouseVisibilty.ValueChanged += new Action <bool>((i_Value) => m_GameSettings.MouseVisible = i_Value);
            AddMenuItem(mouseVisibilty);
            ToggleMenuItem windowResizing = new ToggleMenuItem(i_Game, "Allow Window Resizing: ", new Vector2(100, 120), m_GameSettings.AllowWindowResizing, "On", "Off", m_ActiveMenuItemColor, m_InactiveMenuItemColor);

            windowResizing.ValueChanged += new Action <bool>((i_Value) => m_GameSettings.AllowWindowResizing = i_Value);
            AddMenuItem(windowResizing);
            ToggleMenuItem fullScreenMode = new ToggleMenuItem(i_Game, "Full Screen Mode: ", new Vector2(100, 140), m_GameSettings.FullScreenMode, "On", "Off", m_ActiveMenuItemColor, m_InactiveMenuItemColor);

            fullScreenMode.ValueChanged += new Action <bool>((i_Value) => m_GameSettings.FullScreenMode = i_Value);
            AddMenuItem(fullScreenMode);
            AddMenuItem(new ActionMenuItem(i_Game, "Done", new Vector2(100, 160), ExitScreen, m_ActiveMenuItemColor, m_InactiveMenuItemColor));
        }
Beispiel #18
0
        public override List <MenuItem> MakeMenu()
        {
            IScreensManager m_ScreensManager = m_Game.Services.GetService(typeof(IScreensManager)) as IScreensManager;
            List <float>    volumeList       = new List <float> {
                0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100
            };

            volumeList.Reverse();
            List <float> realVolumeList = new List <float> {
                0, 0.1f, 0.2f, 0.3f, 0.4f, 0.5f, 0.6f, 0.7f, 0.8f, 0.9f, 1f
            };

            realVolumeList.Reverse();
            ToggleMenuItem <float, float> changeBackgroundMusicVolumeMenuItem    = new ToggleMenuItem <float, float>(m_Game, m_GameScreen, volumeList, realVolumeList, "Background Music Volume: ");
            ToggleMenuItem <float, float> changeSoundsEffectsMusicVolumeMenuItem = new ToggleMenuItem <float, float>(m_Game, m_GameScreen, volumeList, realVolumeList, "Sounds Effects Volume: ");

            if (!m_SoundsManager.ToggleSound)
            {
                m_SoundsManager.ToggleSound = !m_SoundsManager.ToggleSound;
                changeBackgroundMusicVolumeMenuItem.CorrespondingToggledItem    = m_GameSettingsManager.BackgroundVolume;
                changeSoundsEffectsMusicVolumeMenuItem.CorrespondingToggledItem = m_GameSettingsManager.SoundEffectsVolume;
                m_SoundsManager.ToggleSound = !m_SoundsManager.ToggleSound;
            }
            else
            {
                changeBackgroundMusicVolumeMenuItem.CorrespondingToggledItem    = m_GameSettingsManager.BackgroundVolume;
                changeSoundsEffectsMusicVolumeMenuItem.CorrespondingToggledItem = m_GameSettingsManager.SoundEffectsVolume;
            }

            changeBackgroundMusicVolumeMenuItem.Toggle += backgroundVolumeChanged;
            m_MenuItems.Add(changeBackgroundMusicVolumeMenuItem);

            changeSoundsEffectsMusicVolumeMenuItem.Toggle += soundsEffectsVolumeChanged;
            m_MenuItems.Add(changeSoundsEffectsMusicVolumeMenuItem);

            m_SoundToggleMenuItem.CorrespondingToggledItem = m_GameSettingsManager.MusicToggle;
            m_SoundToggleMenuItem.Toggle += soundToggleChanged;
            m_MenuItems.Add(m_SoundToggleMenuItem);

            EnterMenuItem done = new EnterMenuItem(m_Game, "Done", m_GameScreen);

            done.EnterPressed += Done_EnterPressed;
            m_MenuItems.Add(done);
            return(m_MenuItems);
        }
        protected override void InitMenuItems()
        {
            ToggleMenuItem mouseVisabilityItem = new ToggleMenuItem(
                "Mouse Visability:", this, m_ScreenOptionsMng.MouseVisibleStatus, new List <string>()
            {
                "Visible", "Invisible"
            }, Keys.Enter, new MethodKey()
            {
                MethodToRun = m_ScreenOptionsMng.MouseVisibilityOff, ActivateKey = Keys.PageDown
            }, new MethodKey()
            {
                MethodToRun = m_ScreenOptionsMng.MouseVisibilityOn, ActivateKey = Keys.PageUp
            });
            ToggleMenuItem fullScreenItem = new ToggleMenuItem(
                "Full Screen Mode:", this, m_ScreenOptionsMng.FullScreenMode, new List <string>()
            {
                "On", "Off"
            }, Keys.Enter, new MethodKey()
            {
                MethodToRun = m_ScreenOptionsMng.FullScreenOff, ActivateKey = Keys.PageDown
            }, new MethodKey()
            {
                MethodToRun = m_ScreenOptionsMng.FullScreenOn, ActivateKey = Keys.PageUp
            });
            ToggleMenuItem allowResizingItem = new ToggleMenuItem(
                "Allow Window Resizing:", this, m_ScreenOptionsMng.AllowWindowResizingMode, new List <string>()
            {
                "On", "Off"
            }, Keys.Enter, new MethodKey()
            {
                MethodToRun = m_ScreenOptionsMng.DisallowWindowResizing, ActivateKey = Keys.PageDown
            }, new MethodKey()
            {
                MethodToRun = m_ScreenOptionsMng.AllowWindowResizing, ActivateKey = Keys.PageUp
            });
            TextMenuItem doneItem = new TextMenuItem(
                "Done", this, new MethodKey()
            {
                MethodToRun = this.done, ActivateKey = Keys.Enter
            });

            AddMenuItems(mouseVisabilityItem, fullScreenItem, allowResizingItem, doneItem);
        }
Beispiel #20
0
        private void ShowFlyoutToggleMenu(object sender, RoutedEventArgs e)
        {
            Flyout f = new Flyout();

            f.PlacementTarget = sender as UIElement;
            f.Placement       = PlacementMode.Top;
            f.Closed         += (x, y) =>
            {
                LogEvent("Event: Closed");
            };

            Menu menu = new Menu();


            ToggleMenuItem tmi1 = new ToggleMenuItem();

            tmi1.Text      = "Enable Logging";
            tmi1.IsChecked = chk;
            tmi1.Tapped   += (a, b) =>
            {
                chk = !chk;
            };

            ToggleMenuItem tmi2 = new ToggleMenuItem();

            tmi2.Text      = "Disable Logging";
            tmi2.IsChecked = !chk;
            tmi2.Tapped   += (a, b) =>
            {
                chk = !chk;
            };

            menu.Items.Add(tmi1);
            menu.Items.Add(tmi2);
            f.HostMargin = new Thickness(0); // on menu flyouts set HostMargin to 0
            f.Content    = menu;
            f.IsOpen     = true;

            ObjectTracker.Track(f);

            UpdateLayout();
        }
        public ScreenOptions(Game i_Game, GameScreen i_Caller) : base(i_Game, "Screen Options")
        {
            ToggleMenuItem isMouseVisible =
                new ToggleMenuItem(Game, this, "Is Mouse Visible On Screen", SpaceInvadersSettings.GetInstance(Game).IsMouseVisibile);

            isMouseVisible.ValueChanged += mouseValueChanged;
            this.AddItem(isMouseVisible);
            ToggleMenuItem isWindowResizeAllowed =
                new ToggleMenuItem(Game, this, "Is Window Resize Allowed", SpaceInvadersSettings.GetInstance(Game).IsWindowResizeAllowed);

            isWindowResizeAllowed.ValueChanged += windowResizeValueChanged;
            this.AddItem(isWindowResizeAllowed);
            ToggleMenuItem isFullScreen =
                new ToggleMenuItem(Game, this, "Is On Full Screen Mode", SpaceInvadersSettings.GetInstance(Game).IsOnFullScreenMode);

            isFullScreen.ValueChanged += fullScreenValueChanged;
            this.AddItem(isFullScreen);

            this.AddItem(new MenuItem(Game, this, i_Caller, "Done"));
        }
Beispiel #22
0
        public SoundOptions(Game i_Game, GameScreen i_Caller) : base(i_Game, "Sound Options")
        {
            PrecentValueMenuItem bgMusicVolume =
                new PrecentValueMenuItem(Game, this, "Background Music Volume", SpaceInvadersSettings.GetInstance(Game).BGMusicVolume);

            bgMusicVolume.ValueChanged += bgMusicVolumeValueChanged;
            this.AddItem(bgMusicVolume);
            PrecentValueMenuItem soundFxVolume =
                new PrecentValueMenuItem(Game, this, "Sound Effects Volume", SpaceInvadersSettings.GetInstance(Game).SoundFXVolume);

            soundFxVolume.ValueChanged += soundFxVolumeValueChanged;
            this.AddItem(soundFxVolume);
            ToggleMenuItem soundOff =
                new ToggleMenuItem(Game, this, "Is Sound Off", SpaceInvadersSettings.GetInstance(Game).IsSoundOff);

            soundOff.ValueChanged += soundOffValueChanged;
            this.AddItem(soundOff);

            this.AddItem(new MenuItem(Game, this, i_Caller, "Done"));
        }
        public override List <MenuItem> MakeMenu()
        {
            IScreensManager m_ScreensManager = m_Game.Services.GetService(typeof(IScreensManager)) as IScreensManager;

            ToggleMenuItem <string, bool> mouseVisibilityToggleMenuItem = new ToggleMenuItem <string, bool>(m_Game, m_GameScreen, new List <string> {
                "Visible", "Invisible"
            }, new List <bool> {
                true, false
            }, "Mouse Visability: ");

            mouseVisibilityToggleMenuItem.CorrespondingToggledItem = m_GameSettingsManager.MouseVisibility;
            mouseVisibilityToggleMenuItem.Toggle += mouseVisibilityChanged;
            m_MenuItems.Add(mouseVisibilityToggleMenuItem);

            ToggleMenuItem <string, bool> allowResizingToggleMenuItem = new ToggleMenuItem <string, bool>(m_Game, m_GameScreen, new List <string> {
                "Off", "On"
            }, new List <bool> {
                false, true
            }, "Allow Window Resizing: ");

            allowResizingToggleMenuItem.CorrespondingToggledItem = m_GameSettingsManager.AllowWindowResize;
            allowResizingToggleMenuItem.Toggle += allowingWindowResizingChanged;
            m_MenuItems.Add(allowResizingToggleMenuItem);

            ToggleMenuItem <string, bool> fullScreenToggleMenuItem = new ToggleMenuItem <string, bool>(m_Game, m_GameScreen, new List <string> {
                "Off", "On"
            }, new List <bool> {
                false, true
            }, "Full Screen Mode: ");

            fullScreenToggleMenuItem.CorrespondingToggledItem = m_GameSettingsManager.FullScreen;
            fullScreenToggleMenuItem.Toggle += fullScreenToggled;
            m_MenuItems.Add(fullScreenToggleMenuItem);

            EnterMenuItem done = new EnterMenuItem(m_Game, "Done", m_GameScreen);

            done.EnterPressed += Done_EnterPressed;
            m_MenuItems.Add(done);
            return(m_MenuItems);
        }
        protected override void InitMenuItems()
        {
            ToggleMenuItem toggleSoundItem = new ToggleMenuItem(
                "Toggle Sound:", this, m_SpaceInvadersSoundsManager.SoundStatus, new List <string>()
            {
                "On", "Off"
            }, Keys.Enter, new MethodKey()
            {
                MethodToRun = m_SpaceInvadersSoundsManager.Mute, ActivateKey = Microsoft.Xna.Framework.Input.Keys.PageDown
            }, new MethodKey()
            {
                MethodToRun = m_SpaceInvadersSoundsManager.Play, ActivateKey = Microsoft.Xna.Framework.Input.Keys.PageUp
            });
            RangeMenuItem backgroundVolumeItem = new RangeMenuItem(
                "Background Music Vol:", this, (int)(m_SpaceInvadersSoundsManager.BackgroundSound.Volume * 100), 0, 100, 10, new MethodKey()
            {
                MethodToRun = m_SpaceInvadersSoundsManager.DecreaseBackgroundMusic, ActivateKey = Keys.PageDown
            }, new MethodKey()
            {
                MethodToRun = m_SpaceInvadersSoundsManager.IncreaseBackgroundMusic, ActivateKey = Keys.PageUp
            });
            RangeMenuItem soundsEffectsVolumeItem = new RangeMenuItem(
                "Sounds Effects Vol:", this, (int)(m_SpaceInvadersSoundsManager.SoundEffect.Volume * 100), 0, 100, 10, new MethodKey()
            {
                MethodToRun = m_SpaceInvadersSoundsManager.DecreaseSoundEffect, ActivateKey = Keys.PageDown
            }, new MethodKey()
            {
                MethodToRun = m_SpaceInvadersSoundsManager.IncreaseSoundEffect, ActivateKey = Keys.PageUp
            });
            TextMenuItem doneItem = new TextMenuItem(
                "Done", this, new MethodKey()
            {
                MethodToRun = done, ActivateKey = Keys.Enter
            });

            AddMenuItems(toggleSoundItem, backgroundVolumeItem, soundsEffectsVolumeItem, doneItem);
        }
        protected override void InitMenuItems()
        {
            TextMenuItem screenOptionsItem = new TextMenuItem("Screen Options", this, new MethodKey()
            {
                MethodToRun = openScreenOptionsScreen, ActivateKey = Keys.Enter
            });
            ToggleMenuItem playersItem = new ToggleMenuItem(
                "Players:", this, m_MultiPlayerConfiguration.NumberOfPlayers.ToString(), new List <string>()
            {
                "One", "Two"
            }, Keys.Enter, new MethodKey()
            {
                MethodToRun = m_MultiPlayerConfiguration.ChangeToTwoPlayers, ActivateKey = Keys.PageDown
            }, new MethodKey()
            {
                MethodToRun = m_MultiPlayerConfiguration.ChangeToOnePlayer, ActivateKey = Keys.PageUp
            });
            TextMenuItem soundOptionsItem = new TextMenuItem("Sound Options", this, new MethodKey()
            {
                MethodToRun = openSoundOptionsScreen, ActivateKey = Keys.Enter
            });
            TextMenuItem playItem = new TextMenuItem("Play", this, new MethodKey()
            {
                MethodToRun = startPlay, ActivateKey = Keys.Enter
            });
            TextMenuItem quitItem = new TextMenuItem("Quit", this, new MethodKey()
            {
                MethodToRun = quitGame, ActivateKey = Keys.Enter
            });

            AddMenuItems(screenOptionsItem, playersItem, soundOptionsItem, playItem, quitItem);
            TextServices.CenterTextsOnScreen(this, null, new List <GameMenuItem>()
            {
                screenOptionsItem, playersItem, soundOptionsItem, playItem, quitItem
            });
        }
Beispiel #26
0
 private void DrawToggleMenuItem(ToggleMenuItem item)
 {
     this.DrawMenuPatch(item.Name, item.ItemX, item.ItemY);
     this.DrawMenuPatch(item.State, item.StateX, item.ItemY);
 }
Beispiel #27
0
        public MenuScreen(Game i_Game)
            : base(i_Game)
        {
            List <object>       volumeHops, offOnList;
            ScreenBackground    background = new ScreenBackground(i_Game, Color.DarkCyan, @"GameAssets\BG_Space01_1024x768");
            MenuMananger        menuManager;
            Menu                soundMenu, screenMenu;
            ActivatableMenuItem play, quit;
            ToggleMenuItem      players;
            ToggleMenuItem      backgroundMusicVolume, soundEffectsVolume, toggleSound;
            ToggleMenuItem      mouseVisability, allowWindowResizing, fullScreenMode;

            m_SoundManager = this.Game.Services.GetService(typeof(ISoundManager)) as ISoundManager;
            volumeHops     = new List <object> {
                100, 90, 80, 70, 60, 50, 40, 30, 20, 10, 0
            };
            offOnList = new List <object> {
                "Off", "On"
            };
            m_GameManager         = i_Game.Services.GetService(typeof(IGameManager)) as IGameManager;
            menuManager           = new MenuMananger(i_Game);
            m_MainMenu            = new Menu(i_Game, "Main Menu");
            soundMenu             = new Menu(i_Game, "Sound Options");
            backgroundMusicVolume = new ToggleMenuItem(i_Game, "Background Music Volume", volumeHops);
            soundEffectsVolume    = new ToggleMenuItem(i_Game, "Sound Effects Volume", volumeHops);
            toggleSound           = new ToggleMenuItem(i_Game, "Toggle Sound", new List <object> {
                "On", "Off"
            });
            screenMenu      = new Menu(i_Game, "Screen Options");
            mouseVisability = new ToggleMenuItem(i_Game, "Mouse Visability", new List <object> {
                "Invisible", "Visible"
            });
            allowWindowResizing = new ToggleMenuItem(i_Game, "Allow Window Resizing", offOnList);
            fullScreenMode      = new ToggleMenuItem(i_Game, "Full Screen Mode", offOnList);
            players             = new ToggleMenuItem(i_Game, "Players", new List <object> {
                "One", "Two"
            });
            play = new ActivatableMenuItem(i_Game, "Play");
            quit = new ActivatableMenuItem(i_Game, "Quit");
            m_MainMenu.MenuManager = menuManager;
            soundMenu.AddItem(backgroundMusicVolume);
            soundMenu.AddItem(soundEffectsVolume);
            soundMenu.AddItem(toggleSound);
            screenMenu.AddItem(mouseVisability);
            screenMenu.AddItem(allowWindowResizing);
            screenMenu.AddItem(fullScreenMode);
            m_MainMenu.AddItem(soundMenu);
            m_MainMenu.AddItem(screenMenu);
            m_MainMenu.AddItem(players);
            m_MainMenu.AddItem(play);
            m_MainMenu.AddItem(quit);
            backgroundMusicVolume.ItemChosen += backgroundMusicVolumeToggleItem_ItemChosen;
            soundEffectsVolume.ItemChosen    += soundEffectsVolumeToggleItem_ItemChosen;
            toggleSound.ItemChosen           += toggleSoundToggleItem_ItemChosen;
            mouseVisability.ItemChosen       += mouseVisabilityToggleItem_ItemChosen;
            allowWindowResizing.ItemChosen   += allowWindowResizingToggleItem_ItemChosen;
            fullScreenMode.ItemChosen        += fullScreenModeToggleItem_ItemChosen;
            players.ItemChosen += playersToggleItem_ItemChosen;
            play.ItemChosen    += playItem_ItemChosen;
            quit.ItemChosen    += quitItem_ItemChosen;
            menuManager.SetCurrentItem(m_MainMenu);
            this.Add(background);
            this.Add(menuManager);
        }