copy items to root part
parent
1066eb509c
commit
3b5f52a4d1
|
@ -79,7 +79,7 @@ namespace OpenSim.Modules.TextureFetcher
|
|||
|
||||
private bool inventoryContainsScripts(SceneObjectPart part)
|
||||
{
|
||||
foreach (TaskInventoryItem item in part.Inventory.GetInventoryItems())
|
||||
foreach (TaskInventoryItem item in part.ParentGroup.RootPart.Inventory.GetInventoryItems())
|
||||
if (item.InvType == 10)
|
||||
{
|
||||
AssetBase assetData = m_scene.AssetService.Get(item.AssetID.ToString());
|
||||
|
@ -105,7 +105,7 @@ namespace OpenSim.Modules.TextureFetcher
|
|||
|
||||
private bool isAssetInInventory(SceneObjectPart part, UUID assetID)
|
||||
{
|
||||
List<TaskInventoryItem> inventarContend = part.Inventory.GetInventoryItems();
|
||||
List<TaskInventoryItem> inventarContend = part.ParentGroup.RootPart.Inventory.GetInventoryItems();
|
||||
|
||||
foreach (TaskInventoryItem item in inventarContend)
|
||||
if (item.AssetID == assetID)
|
||||
|
@ -116,14 +116,9 @@ namespace OpenSim.Modules.TextureFetcher
|
|||
|
||||
private void copyTexturesToInventory(SceneObjectPart part)
|
||||
{
|
||||
if (part.ParentGroup.IsAttachment)
|
||||
return;
|
||||
|
||||
if (inventoryContainsScripts(part))
|
||||
return;
|
||||
|
||||
m_log.Info("[" + Name + "] Process part '" + part.Name + "'");
|
||||
|
||||
try
|
||||
{
|
||||
List<UUID> allTextures = new List<UUID>();
|
||||
|
@ -132,6 +127,7 @@ namespace OpenSim.Modules.TextureFetcher
|
|||
//Get all Textures from the scene object
|
||||
Primitive.TextureEntry textures = part.Shape.Textures;
|
||||
int allSides = part.GetNumberOfSides();
|
||||
|
||||
for (uint i = 0; i < allSides; i++)
|
||||
{
|
||||
if (textures.FaceTextures[i] != null)
|
||||
|
@ -149,13 +145,18 @@ namespace OpenSim.Modules.TextureFetcher
|
|||
{
|
||||
if (texture != UUID.Zero)
|
||||
{
|
||||
String partname = part.Name.Trim();
|
||||
|
||||
if (partname == "")
|
||||
partname = "tf";
|
||||
|
||||
TaskInventoryItem item = new TaskInventoryItem();
|
||||
item.AssetID = texture;
|
||||
item.ItemID = UUID.Random();
|
||||
item.OwnerID = part.OwnerID;
|
||||
item.CurrentPermissions = 581639;
|
||||
item.Name = "tf-" + texture.ToString();
|
||||
item.Description = "This item was generated by the texture fetcher module.";
|
||||
item.Name = partname + " - Texture";
|
||||
item.Description = "This item was automatically generated by the texture fetcher module.";
|
||||
item.OwnerID = part.OwnerID;
|
||||
item.CreatorID = part.OwnerID;
|
||||
item.LastOwnerID = part.OwnerID;
|
||||
|
@ -170,8 +171,7 @@ namespace OpenSim.Modules.TextureFetcher
|
|||
if (!isAssetInInventory(part, item.AssetID))
|
||||
{
|
||||
updateNeeded = true;
|
||||
part.Inventory.AddInventoryItem(item, false);
|
||||
m_log.Info("[" + Name + "] Add item '" + item.Name + "' to '" + part.Name + "'.");
|
||||
part.ParentGroup.RootPart.Inventory.AddInventoryItem(item, false);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue