public override void ExecuteEventHandler(object sender, SimPe.Events.ResourceEventArgs es) { if (!ChangeEnabledStateEventHandler(null, es)) { return; } bool multi = es.Count > 1; string flname = SetupSaveDialog(es[0].Resource.FileDescriptor.ExportFileName, multi); if (flname == null) { return; } #if !DEBUG try #endif { if (!multi) //extract one File { SimPe.Packages.PackedFileDescriptor pfd = (SimPe.Packages.PackedFileDescriptor)es[0].Resource.FileDescriptor; ToolLoaderItemExt.SavePackedFile(flname, true, pfd, es.LoadedPackage.Package); pfd.Path = null; } else //extract multiple Files { SimPe.Collections.PackedFileDescriptors pfds = new SimPe.Collections.PackedFileDescriptors(); foreach (SimPe.Events.ResourceContainer e in es) { if (e.HasFileDescriptor) { pfds.Add(e.Resource.FileDescriptor); } } SimPe.Interfaces.Files.IPackedFileDescriptor[] ar = new SimPe.Interfaces.Files.IPackedFileDescriptor[pfds.Length]; pfds.CopyTo(ar); ExtractAllFiles(flname, ar, es.LoadedPackage.Package); } } #if !DEBUG catch (Exception ex) { Helper.ExceptionMessage(Localization.Manager.GetString("err002") + flname, ex); } #endif }
public StartExternalToolAction(ToolLoaderItemExt item) { this.item = item; }