public ManageModsWindow(List <Mod> mods)
 {
     InitializeComponent();
     Mods         = mods;
     LoadedConfig = null;
     SelectedMod  = null;
 }
        private void Window_Loaded(object sender, RoutedEventArgs rea)
        {
            LoadedConfig      = null;
            SelectedMod       = null;
            ErrorMessage.Text = "";
            SelectedModNoConfig.Visibility = Visibility.Collapsed;

            InstalledMods = Mod.GetInstalledMods(Mods);

            foreach (var mod in InstalledMods)
            {
                InstalledModsList.Items.Add(new ListViewItem()
                {
                    Content         = mod.Name,
                    BorderThickness = new Thickness(0, 0, 0, 1),
                    BorderBrush     = Shrek2Colors.GetBrushFromHex(Shrek2Colors.Color_White),
                    Name            = mod.ModGUID.Replace("-", "")
                });
            }
        }
        public void AddConfigFields()
        {
            try
            {
                LoadedConfig = Shrek2Config.GetConfig(SelectedMod);
                if (LoadedConfig == null)
                {
                    ConfigFields.Visibility = Visibility.Collapsed;
                    MessageBox.Show("Failed to load config fields from config.json! The config file could be incorrectly formatted.");
                    return;
                }

                ConfigFields_Items.Children.Clear();

                if (LoadedConfig.Config == null || LoadedConfig.Config.Count <= 0)
                {
                    ConfigFields.Visibility = Visibility.Collapsed;
                    MessageBox.Show("The loaded mod's config file has no fields to configure!");
                    return;
                }

                foreach (var field in LoadedConfig.Config)
                {
                    try
                    {
                        AddConfigField(field);
                    }
                    catch { }
                }
            }
            catch
            {
                ConfigFields.Visibility = Visibility.Collapsed;
                MessageBox.Show("Failed to load config fields!");
            }
        }