mirror of
https://github.com/opensim/opensim.git
synced 2026-08-06 01:06:30 +08:00
thanks lkalif for Mantis #4676 - a patch that adds support for inventory links
Signed-off-by: dahlia <dahliaTrimble@gmail.removeme.com>
This commit is contained in:
@@ -182,6 +182,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||
public event TeleportLocationRequest OnSetStartLocationRequest;
|
||||
public event UpdateAvatarProperties OnUpdateAvatarProperties;
|
||||
public event CreateNewInventoryItem OnCreateNewInventoryItem;
|
||||
public event LinkInventoryItem OnLinkInventoryItem;
|
||||
public event CreateInventoryFolder OnCreateNewInventoryFolder;
|
||||
public event UpdateInventoryFolder OnUpdateInventoryFolder;
|
||||
public event MoveInventoryFolder OnMoveInventoryFolder;
|
||||
@@ -4749,6 +4750,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||
AddLocalPacketHandler(PacketType.UpdateInventoryFolder, HandleUpdateInventoryFolder);
|
||||
AddLocalPacketHandler(PacketType.MoveInventoryFolder, HandleMoveInventoryFolder);
|
||||
AddLocalPacketHandler(PacketType.CreateInventoryItem, HandleCreateInventoryItem);
|
||||
AddLocalPacketHandler(PacketType.LinkInventoryItem, HandleLinkInventoryItem);
|
||||
AddLocalPacketHandler(PacketType.FetchInventory, HandleFetchInventory);
|
||||
AddLocalPacketHandler(PacketType.FetchInventoryDescendents, HandleFetchInventoryDescendents);
|
||||
AddLocalPacketHandler(PacketType.PurgeInventoryDescendents, HandlePurgeInventoryDescendents);
|
||||
@@ -7348,6 +7350,38 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||
return true;
|
||||
}
|
||||
|
||||
private bool HandleLinkInventoryItem(IClientAPI sender, Packet Pack)
|
||||
{
|
||||
LinkInventoryItemPacket createLink = (LinkInventoryItemPacket)Pack;
|
||||
|
||||
#region Packet Session and User Check
|
||||
if (m_checkPackets)
|
||||
{
|
||||
if (createLink.AgentData.SessionID != SessionId ||
|
||||
createLink.AgentData.AgentID != AgentId)
|
||||
return true;
|
||||
}
|
||||
#endregion
|
||||
|
||||
LinkInventoryItem linkInventoryItem = OnLinkInventoryItem;
|
||||
|
||||
if (linkInventoryItem != null)
|
||||
{
|
||||
linkInventoryItem(
|
||||
this,
|
||||
createLink.InventoryBlock.TransactionID,
|
||||
createLink.InventoryBlock.FolderID,
|
||||
createLink.InventoryBlock.CallbackID,
|
||||
Util.FieldToString(createLink.InventoryBlock.Description),
|
||||
Util.FieldToString(createLink.InventoryBlock.Name),
|
||||
createLink.InventoryBlock.InvType,
|
||||
createLink.InventoryBlock.Type,
|
||||
createLink.InventoryBlock.OldItemID);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private bool HandleFetchInventory(IClientAPI sender, Packet Pack)
|
||||
{
|
||||
if (OnFetchInventory != null)
|
||||
|
||||
Reference in New Issue
Block a user