struct IInventory : public IGameObjectExtension { enum EInventorySlots { eInventorySlot_Weapon = 0, eInventorySlot_Explosives, eInventorySlot_Grenades, eInventorySlot_Special, eInventorySlot_Last }; };
IItemSystem.h
enum EInventorySlots { eInventorySlot_Weapon = 0, eInventorySlot_Explosives, eInventorySlot_Grenades, eInventorySlot_Special, eInventorySlot_Last };
IItemSystem.h
virtual bool AddAccessory(IEntityClass* itemClass) = 0;
virtual void AddAmmoUser(IEntityClass* pAmmoType) = 0;
virtual bool AddItem(EntityId id) = 0;
virtual void AddListener(struct IInventoryListener* pListener) = 0;
virtual bool AreItemsInSameSlot(const char* itemClass1, const char* itemClass2) const = 0;
virtual void AssociateItemCategoryToSlot(const char* itemCategory, EInventorySlots slotId) = 0;
virtual void Clear() = 0;
virtual void Destroy() = 0;
virtual int FindItem(EntityId itemId) const = 0;
virtual int FindNext(IEntityClass * pClass, const char * category, int firstSlot, bool wrap) const = 0;
virtual int FindPrev(IEntityClass * pClass, const char * category, int firstSlot, bool wrap) const = 0;
virtual const char* GetAccessory(int slotId) const = 0;
virtual const IEntityClass* GetAccessoryClass(int slotId) const = 0;
virtual int GetAccessoryCount() const = 0;
virtual IActor* GetActor() = 0;
virtual int GetAmmoCapacity(IEntityClass* pAmmoType) const = 0;
virtual int GetAmmoCount(IEntityClass* pAmmoType) const = 0;
virtual IEntityClass* GetAmmoType(int idx) const = 0;
virtual int GetAmmoTypesCount() const = 0;
virtual int GetCapacity() const = 0;
virtual int GetCount() const = 0;
virtual int GetCountOfCategory(const char * categoryName) const = 0;
virtual int GetCountOfClass(const char * className) const = 0;
virtual int GetCountOfUniqueId(uint8 uniqueId) const = 0;
virtual EntityId GetCurrentItem() const = 0;
virtual EntityId GetHolsteredItem() const = 0;
virtual EntityId GetItem(int slotId) const = 0;
virtual EntityId GetItemByClass(IEntityClass * pClass, IItem * pIgnoreItem = NULL) const = 0;
virtual IItem* GetItemByName(const char* name) const = 0;
virtual const char* GetItemString(int slotId) const = 0;
virtual EntityId GetLastItem() const = 0;
virtual EntityId GetLastSelectedInSlot(IInventory::EInventorySlots slotId) const = 0;
virtual int GetNumberOfUsersForAmmo(IEntityClass* pAmmoType) const = 0;
virtual int GetSlotCount(int slotId) const = 0;
virtual EInventorySlots GetSlotForItemCategory(const char* itemCategory) const = 0;
virtual bool HasAccessory(IEntityClass* pClass) const = 0;
virtual void HolsterItem(bool holster) = 0;
virtual void IgnoreNextClear() = 0;
virtual bool IsAvailableSlotForItemCategory(const char* itemCategory) const = 0;
virtual bool IsAvailableSlotForItemClass(const char* itemClass) const = 0;
virtual bool IsSerializingForLevelChange() const = 0;
virtual void RemoveAllItems() = 0;
virtual void RemoveAmmoUser(IEntityClass* pAmmoType) = 0;
virtual bool RemoveItem(EntityId id) = 0;
virtual void RemoveListener(struct IInventoryListener* pListener) = 0;
virtual void ResetAmmo() = 0;
virtual void RMIReqToServer_AddEquipmentPack(const char* _pszEquipmentPack, bool _bAdd, bool _bPrimary) const = 0;
virtual void RMIReqToServer_AddItem(const char* _pszItemClass) const = 0;
virtual void RMIReqToServer_RemoveAllItems() const = 0;
virtual void RMIReqToServer_RemoveItem(const char* _pszItemClass) const = 0;
virtual void RMIReqToServer_SetAmmoCount(const char* _pszAmmoClass, int _iAmount) const = 0;
virtual void SerializeInventoryForLevelChange(TSerialize ser) = 0;
virtual void SetAmmoCapacity(IEntityClass* pAmmoType, int max) = 0;
virtual void SetAmmoCount(IEntityClass* pAmmoType, int count) = 0;
virtual void SetCurrentItem(EntityId itemId) = 0;
virtual void SetHolsteredItem(EntityId itemId) = 0;
virtual void SetInventorySlotCapacity(EInventorySlots slotId, unsigned int capacity) = 0;
virtual void SetLastItem(EntityId itemId) = 0;