Remove usage of Linden packet types from inside Attachments Module and interface

remove-scene-viewer
Dan Lake 2011-10-03 11:55:54 -07:00
parent 31125a5fd2
commit e77c919290
4 changed files with 11 additions and 12 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

@ -6079,9 +6079,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

@ -360,8 +360,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;
@ -380,9 +379,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);
}
}
}
@ -941,4 +940,4 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
return item;
}
}
}
}

View File

@ -26,6 +26,7 @@
*/
using System;
using System.Collections.Generic;
using OpenMetaverse;
using OpenMetaverse.Packets;
using OpenSim.Framework;
@ -104,8 +105,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.