Ejemplo n.º 1
0
        private void SendItemCreatedPacket(LLAgent agent, LLInventoryItem item, UUID transactionID, uint callbackID)
        {
            UpdateCreateInventoryItemPacket update = new UpdateCreateInventoryItemPacket();

            update.AgentData.AgentID     = agent.ID;
            update.AgentData.SimApproved = true;
            if (transactionID != UUID.Zero)
            {
                update.AgentData.TransactionID = transactionID;
            }
            else
            {
                update.AgentData.TransactionID = UUID.Random();
            }

            Permissions perms = item.Permissions;

            UpdateCreateInventoryItemPacket.InventoryDataBlock invData = new UpdateCreateInventoryItemPacket.InventoryDataBlock();
            invData.AssetID       = item.AssetID;
            invData.BaseMask      = (uint)perms.BaseMask;
            invData.CallbackID    = callbackID;
            invData.CreationDate  = (int)Utils.DateTimeToUnixTime(item.CreationDate);
            invData.CRC           = item.CRC();
            invData.CreatorID     = item.CreatorID;
            invData.Description   = Utils.StringToBytes(item.Description);
            invData.EveryoneMask  = (uint)perms.EveryoneMask;
            invData.Flags         = item.Flags;
            invData.FolderID      = item.ParentID;
            invData.GroupID       = item.GroupID;
            invData.GroupMask     = (uint)perms.GroupMask;
            invData.GroupOwned    = item.GroupOwned;
            invData.InvType       = (sbyte)item.InventoryType;
            invData.ItemID        = item.ID;
            invData.Name          = Utils.StringToBytes(item.Name);
            invData.NextOwnerMask = (uint)perms.NextOwnerMask;
            invData.OwnerID       = item.OwnerID;
            invData.OwnerMask     = (uint)perms.OwnerMask;
            invData.SalePrice     = item.SalePrice;
            invData.SaleType      = (byte)item.SaleType;
            invData.Type          = (sbyte)item.AssetType;

            update.InventoryData    = new UpdateCreateInventoryItemPacket.InventoryDataBlock[1];
            update.InventoryData[0] = invData;

            m_log.DebugFormat("Created inventory item {0}. ItemID: {1}, AssetID: {2}, ParentID: {3}, TransactionID: {4}, CallbackID: {5}",
                              item.Name, item.ID, item.AssetID, item.ParentID, transactionID, callbackID);

            m_udp.SendPacket(agent, update, ThrottleCategory.Task, false);
        }
Ejemplo n.º 2
0
        private void SendItemCreatedPacket(LLAgent agent, LLInventoryItem item, UUID transactionID, uint callbackID)
        {
            UpdateCreateInventoryItemPacket update = new UpdateCreateInventoryItemPacket();
            update.AgentData.AgentID = agent.ID;
            update.AgentData.SimApproved = true;
            if (transactionID != UUID.Zero)
                update.AgentData.TransactionID = transactionID;
            else
                update.AgentData.TransactionID = UUID.Random();

            Permissions perms = item.Permissions;

            UpdateCreateInventoryItemPacket.InventoryDataBlock invData = new UpdateCreateInventoryItemPacket.InventoryDataBlock();
            invData.AssetID = item.AssetID;
            invData.BaseMask = (uint)perms.BaseMask;
            invData.CallbackID = callbackID;
            invData.CreationDate = (int)Utils.DateTimeToUnixTime(item.CreationDate);
            invData.CRC = item.CRC();
            invData.CreatorID = item.CreatorID;
            invData.Description = Utils.StringToBytes(item.Description);
            invData.EveryoneMask = (uint)perms.EveryoneMask;
            invData.Flags = item.Flags;
            invData.FolderID = item.ParentID;
            invData.GroupID = item.GroupID;
            invData.GroupMask = (uint)perms.GroupMask;
            invData.GroupOwned = item.GroupOwned;
            invData.InvType = (sbyte)item.InventoryType;
            invData.ItemID = item.ID;
            invData.Name = Utils.StringToBytes(item.Name);
            invData.NextOwnerMask = (uint)perms.NextOwnerMask;
            invData.OwnerID = item.OwnerID;
            invData.OwnerMask = (uint)perms.OwnerMask;
            invData.SalePrice = item.SalePrice;
            invData.SaleType = (byte)item.SaleType;
            invData.Type = (sbyte)item.AssetType;

            update.InventoryData = new UpdateCreateInventoryItemPacket.InventoryDataBlock[1];
            update.InventoryData[0] = invData;

            m_log.DebugFormat("Created inventory item {0}. ItemID: {1}, AssetID: {2}, ParentID: {3}, TransactionID: {4}, CallbackID: {5}",
                item.Name, item.ID, item.AssetID, item.ParentID, transactionID, callbackID);

            m_udp.SendPacket(agent, update, ThrottleCategory.Task, false);
        }