//================================================================================
// UIDATA_ITEM.
//================================================================================

class UIDATA_ITEM extends UIDataManager
	Native;

native static function ItemID GetFirstID ();

native static function ItemID GetNextID ();

native static function ItemID FindNextID (string strItemName, int ItemType, int ItemCrystalType);

native static function int GetDataCount ();

native static function string GetItemName (ItemID Id);

native static function string GetItemAdditionalName (ItemID Id);

native static function string GetItemTextureName (ItemID Id);

native static function string GetItemDescription (ItemID Id);

native static function int GetItemWeight (ItemID Id);

native static function int GetItemDataType (ItemID Id);

native static function int GetItemCrystalType (ItemID Id);

native static function bool GetItemInfo (ItemID Id, out ItemInfo Info);

native static function bool GetItemInfoString (int ItemClassID, out string Info);

native static function bool IsCrystallizable (ItemID Id);

native static function bool IsMagicWeapon (ItemID Id);

native static function string GetRefineryItemName (string strItemName, int RefineryOp1, int RefineryOp2);

native static function int GetSetItemNum (ItemID Id, int setIdId);

native static function bool IsExistSetItem (ItemID Id, int setId, int Index);

native static function int GetSetItemFirstID (ItemID Id, int setId, int Index);

native static function bool GetSetItemID (ItemID Id, int setId, int Index, out array<ItemID> arrID);

native static function int GetItemSetEnchantEffectNum (ItemID Id);

native static function int GetSetItemEnchantConditionalValue (ItemID Id, int Index);

native static function string GetSetItemEnchantEffectDescription (ItemID Id, int Index);

native static function string GetEtcItemTextureName (ItemID Id);

native static function int GetSetItemPeaceEffectNum (ItemID Id, int setId);

native static function string GetSetItemPeaceEffectDescription (ItemID Id, int setId, int EffectIndex);

native static function int GetItemNameClass (ItemID Id);

native static function EItemInventoryType GetInventoryType (int ClassID);

native static function GetTextureName (ItemID Id, int MeshType, out array<string> TexNameList);

native static function GetMeshName (ItemID Id, int MeshType, out array<string> MeshNameList);

native static function GetExTextureName (ItemID Id, int MeshType, out array<string> ExTexNameList);

native static function GetExMeshName (ItemID Id, int MeshType, out array<string> ExMeshNameList);

native static function EAutomaticUseItemType GetAutomaticUseItemType (int ItemClassID);

// Export UUIDATA_ITEM::execGetEnchantedItemSkillDesc(FFrame&, void* const)
native static function bool GetEnchantedItemSkillDesc(int a_ClassID, int a_Enchanted, out array<string> o_Descriptions, out int o_FontLevel);

native static function GetBlessOptionData (int ItemClassID, out array<BlessOptionData> o_OptionList);

native static function string GetBlessedItemName (string strItemName);

// Export UUIDATA_ITEM::execGetEnchantBlessScrollData(FFrame&, void* const)
native static function bool GetEnchantBlessScrollData(int ItemClassID, out EnchantBlessScrollUIData o_data);

native static function string GetDBDeleteDateString (INT64 nDBDeleteDate);

native static function string GetDBDeleteRemainTimeString (INT64 nDBDeleteDate);

// Export UUIDATA_ITEM::execGetEnchantValidateValue(FFrame&, void* const)
native static function GetEnchantValidateValue(int a_ItemClassID, int a_Enchanted, out EnchantValidateUIData o_data);

// Export UUIDATA_ITEM::execGetEnchantScrollSetData(FFrame&, void* const)
native static function bool GetEnchantScrollSetData(int a_ScrollItemClassID, int a_TargetItemClassID, out EnchantScrollSetUIData o_data);

// Export UUIDATA_ITEM::execGetChallengePointGroupID(FFrame&, void* const)
native static function byte GetChallengePointGroupID(int a_ItemClassID);

// Export UUIDATA_ITEM::execGetEnchantChallengePointSettingData(FFrame&, void* const)
native static function GetEnchantChallengePointSettingData(out EnchantChallengePointSettingUIData o_data);

// Export UUIDATA_ITEM::execGetEnchantChallengePointData(FFrame&, void* const)
native static function bool GetEnchantChallengePointData(byte a_PointGroupID, out EnchantChallengePointUIData o_data);

// Export UUIDATA_ITEM::execGetItemCreateInfo(FFrame&, void* const)
native static function bool GetItemCreateInfo(int a_ItemClassID, out array<ItemCreateUIData> o_ItemList);

// Export UUIDATA_ITEM::execIsDefaultActionPeel(FFrame&, void* const)
native static function bool IsDefaultActionPeel(int a_ItemClassID);

// Export UUIDATA_ITEM::execGetStringMatchingItemList(FFrame&, void* const)
native static function GetStringMatchingItemList(string a_str, string a_delim, UIEventManager.EStringMatchingItemFilter a_filter, bool a_bAscend, out array<int> o_ItemList);

// Export UUIDATA_ITEM::execIsDualInventorySlot(FFrame&, void* const)
native static function bool IsDualInventorySlot(INT64 a_SlotBitType);