diff options
Diffstat (limited to 'OpenSim/Region/ClientStack/ClientView.cs')
-rw-r--r-- | OpenSim/Region/ClientStack/ClientView.cs | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/OpenSim/Region/ClientStack/ClientView.cs b/OpenSim/Region/ClientStack/ClientView.cs index fb9d638..94de013 100644 --- a/OpenSim/Region/ClientStack/ClientView.cs +++ b/OpenSim/Region/ClientStack/ClientView.cs | |||
@@ -145,6 +145,7 @@ namespace OpenSim.Region.ClientStack | |||
145 | private SetAppearance handlerSetAppearance = null; //OnSetAppearance; | 145 | private SetAppearance handlerSetAppearance = null; //OnSetAppearance; |
146 | private AvatarNowWearing handlerAvatarNowWearing = null; //OnAvatarNowWearing; | 146 | private AvatarNowWearing handlerAvatarNowWearing = null; //OnAvatarNowWearing; |
147 | private RezSingleAttachmentFromInv handlerRezSingleAttachment = null; //OnRezSingleAttachmentFromInv; | 147 | private RezSingleAttachmentFromInv handlerRezSingleAttachment = null; //OnRezSingleAttachmentFromInv; |
148 | private UUIDNameRequest handlerDetachAttachmentIntoInv = null; // Detach attachment! | ||
148 | private ObjectAttach handlerObjectAttach = null; //OnObjectAttach; | 149 | private ObjectAttach handlerObjectAttach = null; //OnObjectAttach; |
149 | private SetAlwaysRun handlerSetAlwaysRun = null; //OnSetAlwaysRun; | 150 | private SetAlwaysRun handlerSetAlwaysRun = null; //OnSetAlwaysRun; |
150 | private GenericCall2 handlerCompleteMovementToRegion = null; //OnCompleteMovementToRegion; | 151 | private GenericCall2 handlerCompleteMovementToRegion = null; //OnCompleteMovementToRegion; |
@@ -690,6 +691,7 @@ namespace OpenSim.Region.ClientStack | |||
690 | public event SetAppearance OnSetAppearance; | 691 | public event SetAppearance OnSetAppearance; |
691 | public event AvatarNowWearing OnAvatarNowWearing; | 692 | public event AvatarNowWearing OnAvatarNowWearing; |
692 | public event RezSingleAttachmentFromInv OnRezSingleAttachmentFromInv; | 693 | public event RezSingleAttachmentFromInv OnRezSingleAttachmentFromInv; |
694 | public event UUIDNameRequest OnDetachAttachmentIntoInv; | ||
693 | public event ObjectAttach OnObjectAttach; | 695 | public event ObjectAttach OnObjectAttach; |
694 | public event ObjectDeselect OnObjectDetach; | 696 | public event ObjectDeselect OnObjectDetach; |
695 | public event GenericCall2 OnCompleteMovementToRegion; | 697 | public event GenericCall2 OnCompleteMovementToRegion; |
@@ -3442,6 +3444,18 @@ namespace OpenSim.Region.ClientStack | |||
3442 | } | 3444 | } |
3443 | 3445 | ||
3444 | break; | 3446 | break; |
3447 | case PacketType.DetachAttachmentIntoInv: | ||
3448 | handlerDetachAttachmentIntoInv = OnDetachAttachmentIntoInv; | ||
3449 | if (handlerDetachAttachmentIntoInv != null) | ||
3450 | { | ||
3451 | DetachAttachmentIntoInvPacket detachtoInv = (DetachAttachmentIntoInvPacket)Pack; | ||
3452 | |||
3453 | LLUUID itemID = detachtoInv.ObjectData.ItemID; | ||
3454 | LLUUID ATTACH_agentID = detachtoInv.ObjectData.AgentID; | ||
3455 | |||
3456 | handlerDetachAttachmentIntoInv(itemID, this); | ||
3457 | } | ||
3458 | break; | ||
3445 | case PacketType.ObjectAttach: | 3459 | case PacketType.ObjectAttach: |
3446 | if (OnObjectAttach != null) | 3460 | if (OnObjectAttach != null) |
3447 | { | 3461 | { |
@@ -3451,7 +3465,10 @@ namespace OpenSim.Region.ClientStack | |||
3451 | 3465 | ||
3452 | if (handlerObjectAttach != null) | 3466 | if (handlerObjectAttach != null) |
3453 | { | 3467 | { |
3454 | handlerObjectAttach(this, att.ObjectData[0].ObjectLocalID, att.AgentData.AttachmentPoint, att.ObjectData[0].Rotation); | 3468 | if (att.ObjectData.Length > 0) |
3469 | { | ||
3470 | handlerObjectAttach(this, att.ObjectData[0].ObjectLocalID, att.AgentData.AttachmentPoint, att.ObjectData[0].Rotation); | ||
3471 | } | ||
3455 | } | 3472 | } |
3456 | } | 3473 | } |
3457 | 3474 | ||