diff options
author | Loren Shih <seraph@lindenlab.com> | 2009-12-16 16:36:40 -0500 |
---|---|---|
committer | Loren Shih <seraph@lindenlab.com> | 2009-12-16 16:36:40 -0500 |
commit | 7796fc674802fa217791f3229c4166eb8b0e6138 (patch) | |
tree | 08a27977e48c94360779962fde6333d1dc214c47 /indra/newview/llinventoryfunctions.cpp | |
parent | 66e7ca7c7af325f1541098abfc166f6bfde60813 (diff) |
EXT-3527 : Centralize calls to getIsItemWorn
Moved function from llinventorybridge to llinventoryfunctions.
--HG--
branch : avatar-pipeline
Diffstat (limited to 'indra/newview/llinventoryfunctions.cpp')
-rw-r--r-- | indra/newview/llinventoryfunctions.cpp | 30 |
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; +} |