public override void OnLoaded(object sender, RoutedEventArgs e)
 {
     if (HasLoaded)
     {
         return;
     }
     if (EditingMod.Game == MEGame.ME3)
     {
         BalanceChangesJob = EditingMod.GetJob(ModJob.JobHeader.BALANCE_CHANGES);
         BalanceChangesJob?.BuildParameterMap(EditingMod);
     }
     HasLoaded = true;
 }
        private void AddOfficialDLCJob()
        {
            var currentOfficialDLCJobs = EditingMod.InstallationJobs.Where(x => x.IsOfficialDLCJob(EditingMod.Game)).Select(x => x.Header).ToList();
            var acceptableHeaders      = ModJob.GetSupportedOfficialDLCHeaders(EditingMod.Game);
            var selectableOptions      = acceptableHeaders.Except(currentOfficialDLCJobs).ToList();
            var selection = DropdownSelectorDialog.GetSelection(Window.GetWindow(this), M3L.GetString(M3L.string_selectTask), selectableOptions, M3L.GetString(M3L.string_selectATaskHeader), M3L.GetString(M3L.string_chooser_selectOfficialDLCHeader));

            if (selection is ModJob.JobHeader header)
            {
                ModJob job = new ModJob(header);
                EditingMod.InstallationJobs.Add(job);
                job.BuildParameterMap(EditingMod);
                OfficialDLCJobs.Add(job);
            }
        }
        private void AddCustomDLC()
        {
            if (CustomDLCJob == null)
            {
                // Generate the job
                CustomDLCJob = new ModJob(ModJob.JobHeader.CUSTOMDLC);
                CustomDLCJob.BuildParameterMap(EditingMod);
                EditingMod.InstallationJobs.Add(CustomDLCJob);
            }

            var job = CustomDLCJob;

            CustomDLCJob = null;
            CustomDLCJob = job; // Rebind??/s

            var cdp = new MDCustomDLCParameter();

            cdp.PropertyChanged += CustomDLCPropertyChanged;
            CustomDLCParameters.Add(cdp); //empty data
        }
 private void AddBalanceChangesJob()
 {
     BalanceChangesJob = new ModJob(ModJob.JobHeader.BALANCE_CHANGES, EditingMod);
     BalanceChangesJob.BuildParameterMap(EditingMod);
     EditingMod.InstallationJobs.Add(BalanceChangesJob);
 }
 private void AddBasegameTask()
 {
     BasegameJob = new ModJob(ModJob.JobHeader.BASEGAME);
     BasegameJob.BuildParameterMap(EditingMod);
     EditingMod.InstallationJobs.Add(BasegameJob);
 }