osGetLinkInventoryAssetKey

deleted:    bin/System.Drawing.Common.dll

Signed-off-by: UbitUmarov <ajlduarte@sapo.pt>
This commit is contained in:
Jeff Kelley
2024-03-23 19:20:13 +00:00
committed by UbitUmarov
parent b70b5c07e3
commit 1aa7bea608
4 changed files with 37 additions and 1 deletions

View File

@@ -5541,6 +5541,26 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
return (item == null) ? LSL_String.Empty : item.Description;
}
public LSL_Key osGetLinkInventoryAssetKey(LSL_Integer linkNumber, LSL_String name, LSL_Integer type)
{
SceneObjectPart part = GetSingleLinkPart(linkNumber);
if(part == null)
return LSL_String.NullKey;
TaskInventoryItem item = part.Inventory.GetInventoryItem(name, type);
if (item is null)
return LSL_String.NullKey;
if ((item.CurrentPermissions
& (uint)(PermissionMask.Copy | PermissionMask.Transfer | PermissionMask.Modify))
== (uint)(PermissionMask.Copy | PermissionMask.Transfer | PermissionMask.Modify))
{
return new LSL_Key(item.AssetID.ToString());
}
return LSL_String.NullKey;
}
public LSL_Key osGetLinkInventoryItemKey(LSL_Integer linkNumber, LSL_String name)
{
SceneObjectPart part = GetSingleLinkPart(linkNumber);

View File

@@ -561,6 +561,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
LSL_Integer osApproxEquals(rotation ra, rotation rb, LSL_Float margin);
LSL_Key osGetInventoryLastOwner(LSL_String itemNameOrId);
LSL_Key osGetInventoryItemKey(LSL_String name);
LSL_Key osGetLinkInventoryAssetKey(LSL_Integer linkNumber, LSL_String name, LSL_Integer type);
LSL_Key osGetLinkInventoryItemKey(LSL_Integer linkNumber, LSL_String name);
LSL_String osGetInventoryName(LSL_Key itemId);
LSL_String osGetLinkInventoryName(LSL_Integer linkNumber, LSL_Key itemId);

View File

@@ -1460,6 +1460,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
return m_OSSL_Functions.osGetInventoryItemKey(name);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public LSL_Key osGetLinkInventoryAssetKey(LSL_Integer linkNumber, LSL_String name, LSL_Integer type)
{
return m_OSSL_Functions.osGetLinkInventoryAssetKey(linkNumber, name, type);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public LSL_Key osGetLinkInventoryItemKey(LSL_Integer linkNumber, LSL_String name)
{

View File

@@ -1,4 +1,4 @@
3c8d15ee-d2ba-11ee-ae64-406c8fbbb495
9a2d5a5e-484a-40b0-82bc-092443b08ff7
<llsd><map><key>llsd-lsl-syntax-version</key><integer>2</integer>
<key>controls</key>
<map>
@@ -7318,6 +7318,15 @@
<map><key>name</key><map><key>type</key><string>string</string></map></map>
</array>
</map>
<key>osGetLinkInventoryAssetKey</key>
<map>
<key>return</key><string>key</string>
<key>arguments</key><array>
<map><key>linkNumber</key><map><key>type</key><string>integer</string></map></map>
<map><key>name</key><map><key>type</key><string>string</string></map></map>
<map><key>type</key><map><key>type</key><string>integer</string></map></map>
</array>
</map>
<key>osGetLinkInventoryItemKey</key>
<map>
<key>return</key><string>key</string>