public ModelConfigurationPassBsa(ConfigurationPassBsa passBsa)
 {
     PassBsa           = passBsa;
     ModelSelection    = new ModelConfigurationSelection(passBsa.Selection);
     ModelRepacks      = new ObservableCollection <ModelConfigurationRepack>(passBsa.Repacks.Select(e => new ModelConfigurationRepack(e)));
     DeleteItemCommand = new DelegateCommand(DeleteRepack);
 }
        public ModelConfigurationMain(ConfigurationMain main)
        {
            Main           = main;
            ModelSelection = new ModelConfigurationSelection(main.Selection);
            ModelPath      = new ModelConfigurationPath(main.Paths);
            ModelPassBsa   = new ModelConfigurationPassBsa(main.PassBsa);
            ModelSearch    = new ModelConfigurationSearch(main.Search);
            ModelPasses    = new ObservableCollection <ModelConfigurationPass>(main.Passes.Select(e => new ModelConfigurationPass(e)));

            DeleteItemCommand = new DelegateCommand(RemovePass);
        }
        public ModelConfigurationPass(ConfigurationPass pass)
        {
            Pass           = pass;
            ModelSelection = new ModelConfigurationSelection(pass.Selection);
            switch (pass.TypePass)
            {
            case TypePass.DownscaleFactor:
                Title = "Downscale texture by factor";
                break;

            case TypePass.DownscaleFixed:
                Title = "Downscale texture by size";
                break;

            case TypePass.Format:
                Title = "Change texture format";
                break;

            case TypePass.ApplyCustom:
                Title = "Apply custom tool";
                break;

            case TypePass.Force:
                Title = "Force recompression";
                break;

            case TypePass.ApplyGmic:
                Title = "Apply GMIC filter";
                break;

            case TypePass.UpscaleFactor:
                Title = "Upscale texture by factor";
                break;

            case TypePass.UpscaleFixed:
                Title = "Upscale texture by size";
                break;

            case TypePass.CorrectMipmaps:
                Title = "Mipmaps correction";
                break;

            case TypePass.ForceMipmaps:
                Title = "Force mipmaps generation";
                break;

            case TypePass.CorrectSize:
                Title = "Size correction";
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }