Merge commit 'e77c919290e166f19e77f3ef040418dd39f2f5bd' into bigmerge

Conflicts:
	OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs
avinationmerge
Melanie 2011-10-11 23:17:47 +01:00
commit ef9a811ea6
4 changed files with 10 additions and 11 deletions

View File

@ -53,8 +53,7 @@ namespace OpenSim.Framework
public delegate ISceneEntity RezSingleAttachmentFromInv(IClientAPI remoteClient, UUID itemID, uint AttachmentPt);
public delegate void RezMultipleAttachmentsFromInv(IClientAPI remoteClient, RezMultipleAttachmentsFromInvPacket.HeaderDataBlock header,
RezMultipleAttachmentsFromInvPacket.ObjectDataBlock[] objects);
public delegate void RezMultipleAttachmentsFromInv(IClientAPI remoteClient, List<KeyValuePair<UUID, uint>> rezlist );
public delegate void ObjectAttach(
IClientAPI remoteClient, uint objectLocalID, uint AttachmentPt, bool silent);

View File

@ -6145,9 +6145,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP
RezMultipleAttachmentsFromInv handlerRezMultipleAttachments = OnRezMultipleAttachmentsFromInv;
if (handlerRezMultipleAttachments != null)
{
RezMultipleAttachmentsFromInvPacket rez = (RezMultipleAttachmentsFromInvPacket)Pack;
handlerRezMultipleAttachments(this, rez.HeaderData,
rez.ObjectData);
List<KeyValuePair<UUID, uint>> rezlist = new List<KeyValuePair<UUID, uint>>();
foreach (RezMultipleAttachmentsFromInvPacket.ObjectDataBlock obj in ((RezMultipleAttachmentsFromInvPacket)Pack).ObjectData)
rezlist.Add(new KeyValuePair<UUID, uint>(obj.ItemID, obj.AttachmentPt));
handlerRezMultipleAttachments(this, rezlist);
}
return true;

View File

@ -368,8 +368,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
public void RezMultipleAttachmentsFromInventory(
IClientAPI remoteClient,
RezMultipleAttachmentsFromInvPacket.HeaderDataBlock header,
RezMultipleAttachmentsFromInvPacket.ObjectDataBlock[] objects)
List<KeyValuePair<UUID, uint>> rezlist)
{
if (!Enabled)
return;
@ -388,9 +387,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
{
// m_log.DebugFormat("[ATTACHMENTS MODULE]: Rezzing multiple attachments from inventory for {0}", sp.Name);
foreach (RezMultipleAttachmentsFromInvPacket.ObjectDataBlock obj in objects)
foreach (KeyValuePair<UUID, uint> rez in rezlist)
{
RezSingleAttachmentFromInventory(sp, obj.ItemID, obj.AttachmentPt);
RezSingleAttachmentFromInventory(sp, rez.Key, rez.Value);
}
}
}

View File

@ -27,6 +27,7 @@
using System;
using System.Xml;
using System.Collections.Generic;
using OpenMetaverse;
using OpenMetaverse.Packets;
using OpenSim.Framework;
@ -109,8 +110,7 @@ namespace OpenSim.Region.Framework.Interfaces
/// <param name="objects"></param>
void RezMultipleAttachmentsFromInventory(
IClientAPI remoteClient,
RezMultipleAttachmentsFromInvPacket.HeaderDataBlock header,
RezMultipleAttachmentsFromInvPacket.ObjectDataBlock[] objects);
List<KeyValuePair<UUID, uint>> rezlist);
/// <summary>
/// Detach an object from the avatar.