Beispiel #1
0
        public override void OnShow(IMenuContainer root)
        {
            animation = 0f;
            base.OnShow(root);

            api.PlaySound("MenuSelect", 0.4f);
        }
        public override void OnShow(IMenuContainer root)
        {
            animation = 0f;
            base.OnShow(root);

            availableCharacters = (api.IsAnimationPresent("MenuDifficultyLori") ? 3 : 2);
        }
        public override void OnShow(IMenuContainer root)
        {
            base.OnShow(root);
            animation = 0f;

            discovery = new ServerDiscovery("J²", 10666, OnServerFound);
        }
Beispiel #4
0
 public SliderControl(IMenuContainer api, string title, float currentValue, float minValue, float maxValue) : base(api)
 {
     this.title        = title;
     this.currentValue = currentValue;
     this.minValue     = minValue;
     this.maxValue     = maxValue;
 }
Beispiel #5
0
        public override void OnShow(IMenuContainer root)
        {
            base.OnShow(root);

            controls = new MenuControlBase[] {
                new LinkControl(api, "Single Player", OnSinglePlayerPressed),
                new LinkControl(api, "Party Mode [Alpha]", OnPartyModePressed)
            };
        }
Beispiel #6
0
        public void RegisterIMenuContainer(IEnumerable <object> List)
        {
            DropDown = new IMenuContainer();
            DropDown.DataSet = new ObservableCollection <object>();

            DropDown.Data = List.FirstOrDefault();

            foreach (object obj in List)
            {
                DropDown.DataSet.Add(obj);
            }
        }
Beispiel #7
0
        public override void OnShow(IMenuContainer root)
        {
            base.OnShow(root);

            controls = new MenuControlBase[] {
                new LinkControl(api, "menu/play custom/single".T(), OnSingleplayerPressed, "menu/play custom/single/desc".T()),
#if ENABLE_SPLITSCREEN
                new LinkControl(api, "menu/play custom/split".T(), OnSplitscreenPressed, "menu/play custom/split/desc".T()),
#endif
                new LinkControl(api, "menu/play custom/multi".T(), OnOnlineMultiplayerPressed, "menu/play custom/multi/desc".T())
            };
        }
Beispiel #8
0
        public MenuViewModel(IMenuRegistry registry)
        {
            IMenuContainer container     = registry.Register("Product Catalog").ToContainer();
            IMenuContainer menuContainer = container.Register("Menu Item").ToContainer();

            menuContainer.Register("MenuItem2").ToScreen <TestScreen>();
            menuContainer.Register("MenuItem2").ToScreen <TestScreen2>();

            Menus = new ObservableCollection <MenuItemViewModel>();

            new ObservableCollectionSynchronizer <IMenuItem, MenuItemViewModel>(registry, Menus,
                                                                                (x) => new MenuItemViewModel(x));
        }
Beispiel #9
0
        public static IMenuPopup CreateAndAddDropDownButton(this IMenuContainer LinkBar, string Caption, string Description = "")
        {
            if (Description == string.Empty)
            {
                Description = Caption;
            }
            var Control = LinkBar.AddPopup();

            Control.Caption         = Caption;
            Control.Visible         = true;
            Control.Enabled         = true;
            Control.DescriptionText = Description;
            return(Control);
        }
        public static Separator GetMenuSeparator(this IMenuContainer menuContainer, params string[] menuNames)
        {
            if (menuContainer == null)
            {
                return(null);
            }
            ItemsControl itemsControl;

            if (menuNames.Length == 1)
            {
                itemsControl = (ItemsControl)menuContainer;
            }
            else
            {
                itemsControl = menuContainer.GetMenuItem(menuNames.Take(menuNames.Length - 1).ToArray());
            }
            return(itemsControl.Items.OfType <Separator>().FirstOrDefault(s => s.Name == menuNames[menuNames.Length - 1]));
        }
        public static MenuItem GetMenuItem(this IMenuContainer menuContainer, params string[] menuNames)
        {
            if (menuContainer == null)
            {
                return(null);
            }
            var itemsControl = (ItemsControl)menuContainer;

            foreach (var menuName in menuNames)
            {
                itemsControl = itemsControl.Items.OfType <ItemsControl>().FirstOrDefault(mi => mi.Name == menuName);
                if (itemsControl == null)
                {
                    return(null);
                }
            }
            return(itemsControl as MenuItem);
        }
Beispiel #12
0
        public override void OnShow(IMenuContainer root)
        {
            base.OnShow(root);

#if __ANDROID__
            availableModes = new[] {
                ResizeMode.None,
                ResizeMode.HQ2x,
                ResizeMode.GB,
            };
            availableModesNames = new[] {
                "None / Pixel-perfect",
                "HQ2x",
                "GB (limited palette)"
            };
#else
            availableModes = new[] {
                ResizeMode.None,
                ResizeMode.HQ2x,
                ResizeMode.xBRZ3,
                ResizeMode.xBRZ4,
                ResizeMode.GB,
                ResizeMode.CRT
            };
            availableModesNames = new[] {
                "menu/settings/rescale/none".T(),
                "HQ2x",
                "3xBRZ",
                "4xBRZ",
                "GB (limited palette)",
                "CRT"
            };
#endif

            for (int i = 0; i < availableModes.Length; i++)
            {
                if (availableModes[i] == Resize)
                {
                    selectedIndex = i;
                    break;
                }
            }
        }
Beispiel #13
0
        public override void OnShow(IMenuContainer root)
        {
            base.OnShow(root);

#if __ANDROID__
            // 3xBRZ shader is not available in OpenGL ES 3.0 version
            resizeMode = new ChoiceControl(api, "Resize Mode", (int)Resize, "None", "HQ2x");
            vibrations = new ChoiceControl(api, "Vibrations", Duality.Android.InnerView.allowVibrations ? 1 : 0, "Disable", "Enable");
#else
            resizeMode = new ChoiceControl(api, "Resize Mode", (int)Resize, "None", "HQ2x", "3xBRZ", "4xBRZ", "CRT");

            ScreenMode screenModeCurrent = api.ScreenMode;
            int        screenModeValue;
            if ((screenModeCurrent & ScreenMode.FullWindow) != 0)
            {
                screenModeValue = 1;
            }
            else
            {
                screenModeValue = 0;
            }
            screenMode = new ChoiceControl(api, "Screen Mode", screenModeValue, "Window", "Fullscreen");
#endif
            musicVolume = new SliderControl(api, "Music Volume", MusicVolume, 0f, 1f);
            sfxVolume   = new SliderControl(api, "SFX Volume", SfxVolume, 0f, 1f);

#if __ANDROID__
            controls = new MenuControlBase[] {
                resizeMode, vibrations, musicVolume, sfxVolume,
                new LinkControl(api, "Controls", OnControlsPressed)
            };
#else
            controls = new MenuControlBase[] {
                resizeMode, screenMode, musicVolume, sfxVolume,
                new LinkControl(api, "Controls", OnControlsPressed)
            };
#endif
        }
Beispiel #14
0
 public virtual void OnShow(IMenuContainer api)
 {
     this.api = api;
 }
Beispiel #15
0
 public MenuExpression(IMenuContainer menuContainer, string name)
 {
     _menuContainer = menuContainer;
     _container     = ObjectFactory.GetInstance <IContainer>();
     _name          = name;
 }
Beispiel #16
0
        public override void OnShow(IMenuContainer root)
        {
            base.OnShow(root);

#if !__ANDROID__ && !WASM
            ScreenMode screenModeCurrent = api.ScreenMode;
            int        screenModeValue;
            if ((screenModeCurrent & ScreenMode.FullWindow) != 0)
            {
                screenModeValue = 1;
            }
            else
            {
                screenModeValue = 0;
            }
            screenMode = new ChoiceControl(api, "menu/settings/screen".T(), screenModeValue,
                                           "menu/settings/screen/0".T(), "menu/settings/screen/1".T());

            int refreshModeValue = (int)api.RefreshMode;
            refreshMode = new ChoiceControl(api, "menu/settings/refresh".T(), refreshModeValue,
                                            "menu/settings/refresh/0".T(), "menu/settings/refresh/1".T(), "menu/settings/refresh/2".T(), "menu/settings/refresh/3".T());
#endif
            availableLanguages = i18n.AvailableLanguages;
            string   currentLanguage      = i18n.Language;
            int      currentLanguageIndex = 0;
            string[] languageNames        = new string[availableLanguages.Length];
            for (int i = 0; i < availableLanguages.Length; i++)
            {
                if (availableLanguages[i] == currentLanguage)
                {
                    currentLanguageIndex = i;
                }

                try {
                    languageNames[i] = CultureInfo.GetCultureInfo(availableLanguages[i]).DisplayName;
                } catch {
                    languageNames[i] = availableLanguages[i].ToUpperInvariant();
                }
            }
            language = new ChoiceControl(api, "menu/settings/language".T(), currentLanguageIndex, languageNames);

#if !WASM
            musicVolume = new SliderControl(api, "menu/settings/music".T(), MusicVolume, 0f, 1f);
            sfxVolume   = new SliderControl(api, "menu/settings/sfx".T(), SfxVolume, 0f, 1f);
#endif

#if __ANDROID__
            vibrations = new ChoiceControl(api, "menu/settings/vibrations".T(), Android.InnerView.AllowVibrations ? 1 : 0, "disabled".T(), "enabled".T());

            leftPadding  = new SliderControl(api, "menu/settings/left padding".T(), Android.InnerView.LeftPadding, 0f, 0.15f);
            rightPadding = new SliderControl(api, "menu/settings/right padding".T(), Android.InnerView.RightPadding, 0f, 0.15f);

            controls = new MenuControlBase[] {
                new LinkControl(api, "menu/settings/rescale".T(), OnRescaleModePressed),
                language, vibrations, musicVolume, sfxVolume,
                new LinkControl(api, "menu/settings/controls".T(), OnControlsPressed),
                leftPadding, rightPadding
            };
#elif WASM
            controls = new MenuControlBase[] {
                new LinkControl(api, "menu/settings/rescale".T(), OnRescaleModePressed),
                language,
                new LinkControl(api, "menu/settings/controls".T(), OnControlsPressed)
            };
#else
            controls = new MenuControlBase[] {
                new LinkControl(api, "menu/settings/rescale".T(), OnRescaleModePressed),
                screenMode, refreshMode, language, musicVolume, sfxVolume,
                new LinkControl(api, "menu/settings/controls".T(), OnControlsPressed)
            };
#endif
        }
Beispiel #17
0
 public LinkControl(IMenuContainer api, string title, Action action, string description = null) : base(api)
 {
     this.title       = title;
     this.action      = action;
     this.description = description;
 }
Beispiel #18
0
 public override void OnShow(IMenuContainer root)
 {
     selectAnimation = 0f;
     base.OnShow(root);
 }
Beispiel #19
0
 public ChoiceControl(IMenuContainer api, string title, int selectedIndex, params string[] choices) : base(api)
 {
     this.title         = title;
     this.choices       = choices;
     this.selectedIndex = selectedIndex;
 }
Beispiel #20
0
 public virtual void OnHide(bool isRemoved)
 {
     this.api = null;
 }
Beispiel #21
0
 public static IMenuExpression Register(this IMenuContainer menuContainer, string name)
 {
     return(new MenuExpression(menuContainer, name));
 }
Beispiel #22
0
 protected MenuControlBase(IMenuContainer api)
 {
     this.api = api;
 }
Beispiel #23
0
 public LinkControl(IMenuContainer api, string title, Action action) : base(api)
 {
     this.title  = title;
     this.action = action;
 }
Beispiel #24
0
 public override void OnShow(IMenuContainer root)
 {
     base.OnShow(root);
     animation = 0f;
 }
Beispiel #25
0
 public MenuControlBase(IMenuContainer api)
 {
     this.api = api;
 }