* Implement "Add To Outfit"
* Thanks FredoChaplin
0.6.5-rc1
Justin Clarke Casey 2009-04-07 17:46:23 +00:00
parent ea5b120006
commit ed6165ab9c
9 changed files with 33 additions and 0 deletions

View File

@ -54,6 +54,7 @@ Patches
* devalnor-#708
* dmiles (Daxtron Labs)
* dslake (Intel)
* FredoChaplin
* Gerhard
* Godfrey
* Grumly57

View File

@ -572,6 +572,7 @@ namespace OpenSim.Client.MXP.ClientStack
public event SetAppearance OnSetAppearance;
public event AvatarNowWearing OnAvatarNowWearing;
public event RezSingleAttachmentFromInv OnRezSingleAttachmentFromInv;
public event RezMultipleAttachmentsFromInv OnRezMultipleAttachmentsFromInv;
public event UUIDNameRequest OnDetachAttachmentIntoInv;
public event ObjectAttach OnObjectAttach;
public event ObjectDeselect OnObjectDetach;

View File

@ -53,6 +53,9 @@ namespace OpenSim.Framework
public delegate UUID RezSingleAttachmentFromInv(IClientAPI remoteClient, UUID itemID, uint AttachmentPt);
public delegate void RezMultipleAttachmentsFromInv(IClientAPI remoteClient, RezMultipleAttachmentsFromInvPacket.HeaderDataBlock header,
RezMultipleAttachmentsFromInvPacket.ObjectDataBlock[] objects);
public delegate void ObjectAttach(
IClientAPI remoteClient, uint objectLocalID, uint AttachmentPt, Quaternion rot, bool silent);
@ -566,6 +569,7 @@ namespace OpenSim.Framework
// [Obsolete("LLClientView Specific - Replace and rename OnAvatarUpdate. Difference from SetAppearance?")]
event AvatarNowWearing OnAvatarNowWearing;
event RezSingleAttachmentFromInv OnRezSingleAttachmentFromInv;
event RezMultipleAttachmentsFromInv OnRezMultipleAttachmentsFromInv;
event UUIDNameRequest OnDetachAttachmentIntoInv;
event ObjectAttach OnObjectAttach;
event ObjectDeselect OnObjectDetach;

View File

@ -142,6 +142,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
private SetAppearance handlerSetAppearance; //OnSetAppearance;
private AvatarNowWearing handlerAvatarNowWearing; //OnAvatarNowWearing;
private RezSingleAttachmentFromInv handlerRezSingleAttachment; //OnRezSingleAttachmentFromInv;
private RezMultipleAttachmentsFromInv handlerRezMultipleAttachments; //OnRezMultipleAttachmentsFromInv;
private UUIDNameRequest handlerDetachAttachmentIntoInv; // Detach attachment!
private ObjectAttach handlerObjectAttach; //OnObjectAttach;
private SetAlwaysRun handlerSetAlwaysRun; //OnSetAlwaysRun;
@ -916,6 +917,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
public event SetAppearance OnSetAppearance;
public event AvatarNowWearing OnAvatarNowWearing;
public event RezSingleAttachmentFromInv OnRezSingleAttachmentFromInv;
public event RezMultipleAttachmentsFromInv OnRezMultipleAttachmentsFromInv;
public event UUIDNameRequest OnDetachAttachmentIntoInv;
public event ObjectAttach OnObjectAttach;
public event ObjectDeselect OnObjectDetach;
@ -4717,6 +4719,17 @@ namespace OpenSim.Region.ClientStack.LindenUDP
break;
case PacketType.RezMultipleAttachmentsFromInv:
handlerRezMultipleAttachments = OnRezMultipleAttachmentsFromInv;
if (handlerRezMultipleAttachments != null)
{
RezMultipleAttachmentsFromInvPacket rez = (RezMultipleAttachmentsFromInvPacket)Pack;
handlerRezMultipleAttachments(this, rez.HeaderData,
rez.ObjectData);
}
break;
case PacketType.DetachAttachmentIntoInv:
handlerDetachAttachmentIntoInv = OnDetachAttachmentIntoInv;
if (handlerDetachAttachmentIntoInv != null)

View File

@ -63,6 +63,7 @@ namespace OpenSim.Region.Examples.SimpleModule
public event SetAppearance OnSetAppearance;
public event AvatarNowWearing OnAvatarNowWearing;
public event RezSingleAttachmentFromInv OnRezSingleAttachmentFromInv;
public event RezMultipleAttachmentsFromInv OnRezMultipleAttachmentsFromInv;
public event UUIDNameRequest OnDetachAttachmentIntoInv;
public event ObjectAttach OnObjectAttach;
public event ObjectDeselect OnObjectDetach;

View File

@ -31,6 +31,7 @@ using System.Reflection;
using System.Text;
using System.Timers;
using OpenMetaverse;
using OpenMetaverse.Packets;
using log4net;
using OpenSim.Framework;
using OpenSim.Framework.Communications.Cache;
@ -2563,6 +2564,15 @@ namespace OpenSim.Region.Framework.Scenes
return att.UUID;
}
public void RezMultipleAttachments(IClientAPI remoteClient, RezMultipleAttachmentsFromInvPacket.HeaderDataBlock header,
RezMultipleAttachmentsFromInvPacket.ObjectDataBlock[] objects)
{
foreach (RezMultipleAttachmentsFromInvPacket.ObjectDataBlock obj in objects)
{
RezSingleAttachment(remoteClient, obj.ItemID, obj.AttachmentPt);
}
}
public void AttachObject(IClientAPI controllingClient, uint localID, uint attachPoint, Quaternion rot, Vector3 pos, bool silent)
{
m_sceneGraph.AttachObject(controllingClient, localID, attachPoint, rot, pos, silent);

View File

@ -1935,6 +1935,7 @@ namespace OpenSim.Region.Framework.Scenes
client.OnDeRezObject += DeRezObject;
client.OnRezObject += RezObject;
client.OnRezSingleAttachmentFromInv += RezSingleAttachment;
client.OnRezMultipleAttachmentsFromInv += RezMultipleAttachments;
client.OnDetachAttachmentIntoInv += DetachSingleAttachmentToInv;
client.OnObjectAttach += m_sceneGraph.AttachObject;
client.OnObjectDetach += m_sceneGraph.DetachObject;

View File

@ -169,6 +169,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC
public event SetAppearance OnSetAppearance;
public event AvatarNowWearing OnAvatarNowWearing;
public event RezSingleAttachmentFromInv OnRezSingleAttachmentFromInv;
public event RezMultipleAttachmentsFromInv OnRezMultipleAttachmentsFromInv;
public event UUIDNameRequest OnDetachAttachmentIntoInv;
public event ObjectAttach OnObjectAttach;
public event ObjectDeselect OnObjectDetach;

View File

@ -74,6 +74,7 @@ namespace OpenSim.Tests.Common.Mock
public event SetAppearance OnSetAppearance;
public event AvatarNowWearing OnAvatarNowWearing;
public event RezSingleAttachmentFromInv OnRezSingleAttachmentFromInv;
public event RezMultipleAttachmentsFromInv OnRezMultipleAttachmentsFromInv;
public event UUIDNameRequest OnDetachAttachmentIntoInv;
public event ObjectAttach OnObjectAttach;
public event ObjectDeselect OnObjectDetach;