summaryrefslogtreecommitdiff
path: root/indra/newview/llagentwearables.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llagentwearables.h')
-rw-r--r--indra/newview/llagentwearables.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/indra/newview/llagentwearables.h b/indra/newview/llagentwearables.h
index 8b9d29342a..6b456abfa7 100644
--- a/indra/newview/llagentwearables.h
+++ b/indra/newview/llagentwearables.h
@@ -45,6 +45,7 @@ class LLVOAvatarSelf;
class LLWearable;
class LLInitialWearablesFetch;
class LLViewerObject;
+class LLTexLayerTemplate;
class LLAgentWearables
{
@@ -93,8 +94,9 @@ public:
static BOOL selfHasWearable(EWearableType type);
LLWearable* getWearable(const EWearableType type, U32 index /*= 0*/);
const LLWearable* getWearable(const EWearableType type, U32 index /*= 0*/) const;
- U32 getWearableCount(const EWearableType type) const;
-
+ LLWearable* getTopWearable(const EWearableType type);
+ U32 getWearableCount(const EWearableType type) const;
+ U32 getWearableCount(const U32 tex_index) const;
//--------------------------------------------------------------------
// Setters
@@ -103,12 +105,16 @@ public:
private:
// Low-level data structure setter - public access is via setWearableItem, etc.
void setWearable(const EWearableType type, U32 index, LLWearable *wearable);
+ U32 pushWearable(const EWearableType type, LLWearable *wearable);
+ void popWearable(const EWearableType type, LLWearable *wearable);
+ void popWearable(const EWearableType type, U32 index);
public:
void setWearableItem(LLInventoryItem* new_item, LLWearable* wearable, bool do_append = false);
void setWearableOutfit(const LLInventoryItem::item_array_t& items, const LLDynamicArray< LLWearable* >& wearables, BOOL remove);
void setWearableName(const LLUUID& item_id, const std::string& new_name);
void addLocalTextureObject(const EWearableType wearable_type, const LLVOAvatarDefines::ETextureIndex texture_type, U32 wearable_index);
+ U32 getWearableIndex(const EWearableType type, LLWearable *wearable);
protected:
void setWearableFinal(LLInventoryItem* new_item, LLWearable* new_wearable, bool do_append = false);
static bool onSetWearableDialog(const LLSD& notification, const LLSD& response, LLWearable* wearable);
@@ -252,6 +258,8 @@ private:
LLPointer<LLRefCount> mCB;
};
+ static const U32 MAX_WEARABLES_PER_TYPE = 1;
+
}; // LLAgentWearables
extern LLAgentWearables gAgentWearables;