コード例 #1
0
        public MainMenu() : base(false)
        {
            // TODO: Is it okay that assets can only be loaded into the active scene's libraries?
            sceneType = SceneType.Menu;

            Entity entity;

            entity = new Entity(this, entityList).AddBody(100f, 100f).AddSprite("ball");
            entity.SetVelocity(20f, 10f);

            entity  = new Entity(this, entityList).AddText("default", "N/A", 5f, 5f, Color.Cyan, 1f);
            stop1   = entity;
            message = new StringBuilder("Type: ");

            //menu = new Systems.MenuGroup(Systems.MenuOrder.vertical, MenuSelect, MenuDeselect);
            menu = new MenuGroup();
            menu.Add(new Entity(this, entityList).AddText("default", "Start", 100f, 100f, menuTextColor, 1f));
            menu.Add(new Entity(this, entityList).AddText("default", "Config", 100f, 200f, menuTextColor, 1f));
            menu.Last().MenuControl.SetAction(GameCommand.MenuConfirm, MCConfig);
            menu.Add(new Entity(this, entityList).AddText("default", "Exit", 100f, 300f, menuTextColor, 1f));
            menu.Last().MenuControl.SetAction(GameCommand.MenuConfirm, MCExit);
            menu.SetSelect(MCSelect);
            menu.SetDeselect(MCDeselect);
            menu.Refresh();

            // TODO: Consider moving this to the base Scene library, and Start() or Stop via a flag in the constructor.
            //   Though it might need to be started and stopped within certain scenes? Unless all typing popups are
            //   handled as scenes of their own.
            //GlobalServices.TextHandler.Start();
        }
コード例 #2
0
        private void LoadMenu()
        {
            List <SampleCategory> samplesJson;

            // Deserialize samples.json
            var    assembly = IntrospectionExtensions.GetTypeInfo(typeof(SampleMenu)).Assembly;
            Stream stream   = assembly.GetManifestResourceStream("HowDoISample.samples.json");

            using (var reader = new StreamReader(stream))
            {
                var text = reader.ReadToEnd();
                samplesJson = JsonConvert.DeserializeObject <List <SampleCategory> >(text);
            }

            // Translate samples.json object into the master sample menu
            foreach (var category in samplesJson)
            {
                // Make the group
                var sampleGroup = new MenuGroup()
                {
                    Title = category.Title, IsExpanded = false
                };
                foreach (var sample in category.Children)
                {
                    sampleGroup.Add(new SampleMenuItem()
                    {
                        Id = sample.Id, Title = sample.Title, Description = sample.Description
                    });
                }
                _allMenuItems.Add(sampleGroup);
            }
            UpdateMenu();
        }
コード例 #3
0
        private void UpdateListContent()

        {
            _expandedGroups = new ObservableCollection <MenuGroup>();

            foreach (MenuGroup group in _allGroups)

            {
                //Create new FoodGroups so we do not alter original list

                MenuGroup newGroup = new MenuGroup(group.title, "", group.Expanded);

                //Add the count of food items for Lits Header Titles to use

                newGroup.MenuCount = group.Count;

                if (group.Expanded)

                {
                    foreach (ChartItemViewModel item in group)

                    {
                        newGroup.Add(item);
                    }
                }

                _expandedGroups.Add(newGroup);
            }

            GroupedView.ItemsSource = _expandedGroups;
        }
コード例 #4
0
ファイル: MenuConfig.cs プロジェクト: Karob2/eventide
        public MenuConfig() : base(false)
        {
            // TODO: Is it okay that assets can only be loaded into the active scene's libraries?
            sceneType = SceneType.Menu;

            menu = new MenuGroup();
            menu.Add(new Entity(this, entityList).AddText("default", "854x480", 200f, 120f, MainMenu.menuTextColor, 1f));
            menu.Last().MenuControl.SetAction(GameCommand.MenuConfirm, MCRes480);
            menu.Add(new Entity(this, entityList).AddText("default", "1280x720", 200f, 220f, MainMenu.menuTextColor, 1f));
            menu.Last().MenuControl.SetAction(GameCommand.MenuConfirm, MCRes720);
            menu.Add(new Entity(this, entityList).AddText("default", "1920x1080", 200f, 320f, MainMenu.menuTextColor, 1f));
            menu.Last().MenuControl.SetAction(GameCommand.MenuConfirm, MCRes1080);
            menu.Add(new Entity(this, entityList).AddText("default", "Fullscreen", 200f, 420f, MainMenu.menuTextColor, 1f));
            menu.Last().MenuControl.SetAction(GameCommand.MenuConfirm, MCResFullscreen);
            menu.Add(new Entity(this, entityList).AddText("default", "Back", 180f, 520f, MainMenu.menuTextColor, 1f));
            menu.Last().MenuControl.SetAction(GameCommand.MenuConfirm, MCBack);
            menu.SetSelect(MainMenu.MCSelect);
            menu.SetDeselect(MainMenu.MCDeselect);
            menu.Refresh();
            // TODO/DEBUG: Allow typing in custom resolutions to see what happens. (Or could implement this in the upcoming console.)

            // TODO: This shouldn't be necessary:
            //GlobalServices.TextHandler.Stop();
        }
コード例 #5
0
        private void UpdateMenu()
        {
            var updatedMenu = new ObservableCollection <MenuGroup>();

            foreach (var group in _allMenuItems)
            {
                var sampleGroup = new MenuGroup()
                {
                    Title = group.Title, IsExpanded = group.IsExpanded
                };
                if (sampleGroup.IsExpanded)
                {
                    foreach (var sample in group)
                    {
                        sampleGroup.Add(new SampleMenuItem()
                        {
                            Id = sample.Id, Title = sample.Title, Description = sample.Description
                        });
                    }
                }
                updatedMenu.Add(sampleGroup);
            }
            SampleMenuItems = updatedMenu;
        }
コード例 #6
0
ファイル: MenuManager.cs プロジェクト: BorisFR/astromech
        public void Refresh()
        {
            All.Clear ();

            MenuGroup mg = new MenuGroup (T ("Menu"));
            mg.Add (new Menu () {
                Page = MyPage.Home,
                Title = T ("MenuNews"),
                Detail = T ("MenuNewsDetail"),
                Icon = "news"
            });
            mg.Add (new Menu () {
                Page = MyPage.Builders,
                Title = T ("MenuTheBuilders"),
                Detail = T ("MenuTheBuildersDetail"),
                Icon = "builders"
            });
            mg.Add (new Menu () {
                Page = MyPage.None,
                Title = T ("MenuTheDroids"),
                Detail = T ("MenuTheDroidsDetail"),
                Icon = "robots"
            });
            //mg.Add (new Menu (){ Page = MyPage.None, Title = "AstroDex", 			Detail = "L'anuaire des unités Astro", 		Icon = "IA" });
            mg.Add (new Menu () {
                Page = MyPage.Exhibitions,
                Title = T ("MenuTheEvents"),
                Detail = T ("MenuTheEventsDetail"),
                Icon = "events"
            });
            mg.Add (new Menu () {
                Page = MyPage.None,
                Title = T ("MenuMyCards"),
                Detail = T ("MenuMyCardsDetail"),
                Icon = "cards"
            });
            mg.Add (new Menu () {
                Page = MyPage.None,
                Title = T ("MenuQrCode"),
                Detail = T ("MenuQrCodeDetail"),
                Icon = "qrcode"
            });
            //mg.Add (new Menu (){ Page = MyPage.None, Title = "Vos cartes", 			Detail = "Votre collection de cartes", 		Icon = "IA" });
            //mg.Add (new Menu (){ Page = MyPage.None, Title = "Vos récompenses", 	Detail = "Vos récompenses obtenues", 		Icon = "IA" });
            mg.Add (new Menu () {
                Page = MyPage.Account,
                Title = T ("MenuMyAccount"),
                Detail = T ("MenuMyAccountDetail"),
                Icon = "user"
            });
            //mg.Add (new Menu (){ Page = MyPage.None, Title = "Aide", 				Detail = "Comment fonctionne l'application", Icon = "IA" });
            mg.Add (new Menu () {
                Page = MyPage.About,
                Title = T ("MenuAbout"),
                Detail = T ("MenuAboutDetail"),
                Icon = "about"
            });
            All.Add (mg);
            /*
            mg = new MenuGroup ("ASTRODEX");
            mg.Add (new Menu (){ Page = MyPage.None, Title = "Unités R1", Detail = "Astromech de type R1", Icon = "IA" });
            mg.Add (new Menu (){ Page = MyPage.None, Title = "Unités R2", Detail = "Astromech de type R2", Icon = "IA" });
            All.Add (mg);
            mg = new MenuGroup ("Récompenses");
            mg.Add (new Menu (){ Page = MyPage.None, Title = "", Detail = "", Icon = "IA" });
            mg.Add (new Menu (){ Page = MyPage.None, Title = "", Detail = "", Icon = "IA" });
            mg.Add (new Menu (){ Page = MyPage.None, Title = "", Detail = "", Icon = "IA" });
            mg.Add (new Menu (){ Page = MyPage.None, Title = "Builders Day 06/2015", Detail = "Chez lolo080 - 27 juin", Icon = "lolo080062k15" });
            mg.Add (new Menu (){ Page = MyPage.None, Title = "FACTS 2015", Detail = "Gand - 27 & 28 septembre", Icon = "facts2k15" });
            mg.Add (new Menu (){ Page = MyPage.None, Title = "PGW 2015", Detail = "Du 28/10 au 1/11", Icon = "pgw2k15" });
            mg.Add (new Menu (){ Page = MyPage.None, Title = "Comic Con Paris", Detail = "Les 24 & 25 octobre 2015", Icon = "ccp2k15" });
            All.Add (mg);
            */

            /*
            if (Global.IsConnected && Global.ConnectedUser.IsBuilder) {
                mg = new MenuGroup ("Menu Builders");
                mg.Add (new Menu () { Page = MyPage.None, Title = "Ma fiche", Detail = "Gérer ma fiche de présentation", Icon = "account" });
                mg.Add (new Menu (){ Page = MyPage.None, Title = "Mes robots", 			Detail = "Gérer mes robots", 				Icon = "IA" });
                //mg.Add (new Menu (){ Page = MyPage.None, Title = "", 					Detail = "", 								Icon = "IA" });
                All.Add (mg);
            }
            */

            if (Global.IsConnected) {
                mg = new MenuGroup (T ("MenuMenuBuilders"));
                if (Global.ConnectedUser.IsBuilder) {
                    mg.Add (new Menu () {
                        Page = MyPage.MyBuilder,
                        Title = T ("MenuBuilderPresentation"),
                        Detail = T ("MenuBuilderPresentationDetail"),
                        Icon = "builder"
                    });
                    mg.Add (new Menu () {
                        Page = MyPage.None,
                        Title = T ("MenuBuilderDroids"),
                        Detail = T ("MenuBuilderDroidsDetail"),
                        Icon = "myrobots"
                    });
                    mg.Add (new Menu () {
                        Page = MyPage.MyExhibitions,
                        Title = T ("MenuBuilderEvents"),
                        Detail = T ("MenuBuilderEventsDetail"),
                        Icon = "planner"
                    });
                    if (Global.ConnectedUser.IsNewser) {
                        mg.Add (new Menu () {
                            Page = MyPage.None,
                            Title = T ("MenuAdminNews"),
                            Detail = T ("MenuAdminNewsDetail"),
                            Icon = "mynews"
                        });
                    }
                }
                if (mg.Count > 0)
                    All.Add (mg);
                mg = new MenuGroup (T ("MenuMenuAdmin"));
                if (Global.ConnectedUser.IsModo) {
                    mg.Add (new Menu () {
                        Page = MyPage.None,
                        Title = T ("MenuAdminAllNews"),
                        Detail = T ("MenuAdminAllNewsDetail"),
                        Icon = "adminnews"
                    });
                }
                if (Global.ConnectedUser.IsAdmin) {
                    mg.Add (new Menu () {
                        Page = MyPage.AdminUsers,
                        Title = T ("MenuAdminUsers"),
                        Detail = T ("MenuAdminUsersDetail"),
                        Icon = "adminusers"
                    });
                }
                if (Global.ConnectedUser.NickName.Equals ("Boris")) {
                    mg.Add (new Menu () {
                        Page = MyPage.AdminBuilders,
                        Title = "Admin builders",
                        Detail = "Gérer qui est builder",
                        Icon = "IA"
                    });
                }
                if (mg.Count > 0)
                    All.Add (mg);
            }
        }