Interface to the Item system
struct IItemSystem { };
IItemSystem.h
virtual ~IItemSystem();
virtual void CacheGeometry(const IItemParamsNode * geometry) = 0;
virtual void CacheItemGeometry(const char * className) = 0;
virtual void CacheItemSound(const char * className) = 0;
virtual void CacheObject(const char * fileName, bool useCgfStreaming) = 0;
virtual bool CanSocketBeEmpty(const char* item, const char* socket) const = 0;
virtual void ClearGeometryCache() = 0;
virtual void ClearSoundCache() = 0;
virtual IItemParamsNode * CreateParams() = 0;
virtual ICharacterInstance * GetCachedCharacter(const char * fileName) = 0;
virtual IStatObj * GetCachedObject(const char * fileName) = 0;
virtual const char * GetConfiguration() const = 0;
virtual const char* GetFirstItemClass() = 0;
virtual IEquipmentManager* GetIEquipmentManager() = 0;
virtual const char * GetItemCategory(const char * item) const = 0;
virtual const char* GetItemParamName(int index) const = 0;
virtual const IItemParamsNode * GetItemParams(const char * itemName) const = 0;
virtual int GetItemParamsCount() const = 0;
virtual const char* GetItemParamsDescriptionFile(const char * itemName) const = 0;
virtual uint8 GetItemPriority(const char * item) const = 0;
virtual bool GetItemSocketCompatibility(const char* item, const char* socket) const = 0;
virtual uint32 GetItemSocketCount(const char* item) const = 0;
virtual const char* GetItemSocketName(const char* item, int idx) const = 0;
virtual uint8 GetItemUniqueId(const char * item) const = 0;
virtual const char* GetNextItemClass() = 0;
virtual EntityId GiveItem(IActor * pActor, const char * item, bool sound, bool select, bool keepHistory, const char * setup = NULL, EEntityFlags entityFlags = (EEntityFlags)0) = 0;
virtual bool IsCompatible(const char* item, const char* attachment) const = 0;
virtual bool IsItemClass(const char * name) const = 0;
virtual void PostReload() = 0;
virtual void PreReload() = 0;
virtual void* Query(IItemSystemQuery query, const void* param = NULL) = 0;
virtual void RegisterForCollection(EntityId itemId) = 0;
virtual void RegisterListener(IItemSystemListener * pListener) = 0;
virtual void Reload() = 0;
virtual void RemoveItem(EntityId itemId, const char* itemName = NULL) = 0;
virtual void Reset() = 0;
virtual void Scan(const char * folderName) = 0;
virtual void Serialize(TSerialize ser) = 0;
virtual void SetActorItem(IActor * pActor, const char * name, bool keepHistory = true) = 0;
virtual void SetConfiguration(const char * name) = 0;
virtual void UnregisterForCollection(EntityId itemId) = 0;
virtual void UnregisterListener(IItemSystemListener * pListener) = 0;