public void KillInWorldAndDisk(UUID oldobjid) { if (CogbotHelpers.IsNullOrZero(oldobjid)) { return; } Importing.KillID(oldobjid); KillInWorld(oldobjid); }
public void KillAllUnpacked(OutputDelegate Failures, bool artifacts) { UUID into = UUID.Zero; if (!settings.Contains("info")) { into = CogbotHelpers.NonZero(FolderCalled("TaskInvKilled"), Client.Inventory.FindFolderForType(AssetType.TrashFolder)); } int count = 0; lock (fileWriterLock) foreach (string ext in new[] { "*.repack", /* "*.objectAsset"*/ }) { foreach (var file in Directory.GetFiles(dumpDir, ext)) { count++; if (count > 1) { if (settings.Contains("once")) { return; } } string filetext = File.ReadAllText(file); string[] csv = filetext.Split(new[] { ',' }); UUID assetID = new UUID(csv[2]); uint localID = uint.Parse(csv[0]); var O1 = WorldObjects.GetSimObjectFromUUID(assetID); if (O1 == null) { Client.Objects.RequestObject(Client.Network.CurrentSim, localID); } var O = GetSimObjectFromUUID(assetID); if (O == null) { Failure("Cant find object for file: " + file + " " + filetext); if (settings.Contains("info")) { Success("INFO: " + localID + " " + assetID); continue; } Client.Inventory.RequestDeRezToInventory(localID, DeRezDestination.TrashFolder, into, UUID.Random()); File.Delete(file); if (artifacts) { Importing.KillID(assetID); } if (settings.Contains("once")) { return; } } else { if (!settings.Contains("info")) { Success("INFO: " + localID + " " + assetID + " text=" + filetext); continue; } Client.Inventory.RequestDeRezToInventory(O.LocalID, DeRezDestination.TrashFolder, into, UUID.Random()); File.Delete(file); if (artifacts) { Importing.KillID(assetID); } if (settings.Contains("once")) { return; } } } if (artifacts) { foreach (var file in Directory.GetFiles(dumpDir, "*.taskobj")) { string filetext = File.ReadAllText(file); string[] csv = filetext.Split(new[] { ',' }); UUID assetID = new UUID(csv[2]); Importing.KillID(assetID); UUID holderID = new UUID(csv[3]); string exportFile = dumpDir + "" + holderID + ".task"; if (File.Exists(exportFile)) { File.Delete(exportFile); } File.Delete(file); } } } }