summaryrefslogtreecommitdiff
path: root/indra/newview/llinventoryfunctions.cpp
diff options
context:
space:
mode:
authorJames Cook <james@lindenlab.com>2009-12-18 10:50:29 -0800
committerJames Cook <james@lindenlab.com>2009-12-18 10:50:29 -0800
commiteb501f3231aacb2fd97d8428bb2d25b818b26263 (patch)
tree85a58ed7942c2b96b3e03c9e4dbd8237423e7696 /indra/newview/llinventoryfunctions.cpp
parentb0fd284fbf72ef3a38ea64a61f8d5fe3e2e314b7 (diff)
parentad6d0e3bb766c737b1e9bbd9d006391cc8bcc085 (diff)
Merge, pulling in viewer-2-0
Diffstat (limited to 'indra/newview/llinventoryfunctions.cpp')
-rw-r--r--indra/newview/llinventoryfunctions.cpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/indra/newview/llinventoryfunctions.cpp b/indra/newview/llinventoryfunctions.cpp
index 75218e98e0..8f4136c01f 100644
--- a/indra/newview/llinventoryfunctions.cpp
+++ b/indra/newview/llinventoryfunctions.cpp
@@ -338,3 +338,33 @@ LLUIImagePtr get_item_icon(LLAssetType::EType asset_type,
const std::string& icon_name = get_item_icon_name(asset_type, inventory_type, attachment_point, item_is_multi );
return LLUI::getUIImage(icon_name);
}
+
+BOOL get_is_item_worn(const LLUUID& id)
+{
+ const LLViewerInventoryItem* item = gInventory.getItem(id);
+ if (!item)
+ return FALSE;
+
+ switch(item->getType())
+ {
+ case LLAssetType::AT_OBJECT:
+ {
+ const LLVOAvatarSelf* my_avatar = gAgent.getAvatarObject();
+ if(my_avatar && my_avatar->isWearingAttachment(item->getLinkedUUID()))
+ return TRUE;
+ break;
+ }
+ case LLAssetType::AT_BODYPART:
+ case LLAssetType::AT_CLOTHING:
+ if(gAgentWearables.isWearingItem(item->getLinkedUUID()))
+ return TRUE;
+ break;
+ case LLAssetType::AT_GESTURE:
+ if (LLGestureManager::instance().isGestureActive(item->getLinkedUUID()))
+ return TRUE;
+ break;
+ default:
+ break;
+ }
+ return FALSE;
+}