public void Init()
        {
            isClosing = false;
            MainDockPanel.Children.Clear();

            var gameNames = (GameName[])Enum.GetValues(typeof(GameName));
            var games     = new List <ActiveGameData>();

            foreach (var gameName in gameNames)
            {
                var activeGameData = new ActiveGameData
                {
                    EnumValue         = gameName,
                    GameName          = gameName.ToString(),
                    GameDescription   = GameList.GetGameDescription(gameName),
                    GameIcon          = GameList.GetGameIcon(gameName),
                    GameCustomControl = GameList.GetGameControls(gameName)
                };
                games.Add(activeGameData);
            }

            foreach (var game in games)
            {
                #region Generate Elements

                var sp = new StackPanel
                {
                    Name   = $"{game.GameName}_StackPanel",
                    Width  = 80,
                    Height = 90
                };
                var lb = new Label
                {
                    Content             = game.GameName,
                    HorizontalAlignment = HorizontalAlignment.Center
                };
                var imgBrush = new ImageBrush
                {
                    ImageSource = ImageExtensions.BitmapToImageSource(game.GameIcon)
                };
                var btn = new Button
                {
                    Height     = 64,
                    Width      = 64,
                    Background = imgBrush
                };

                #endregion

                btn.Click += (sender, args) => LoadGame(game);
                sp.Children.Add(lb);
                sp.Children.Add(btn);
                MainDockPanel.Children.Add(sp);
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Used to load in custom controls for games. Games can have their own custom UserControls to load in here.
 /// </summary>
 /// <param name="gameName"> Enum specifying which game is active. </param>
 public void SetCustomGameControls(GameName gameName = GameName.None)
 {
     CustomControlArea.Content = GameList.GetGameControls(gameName);
     DescriptionTextBlock.Text = GameList.GetGameDescription(gameName);
     SetStartButton(gameName);
 }