public void InitializeItemInfo(int _ItemID, WowRealm _Realm, ItemInfoDownloader _ItemInfoDownloader) { uint dictionaryID = GetDictionaryItemID(_ItemID, _Realm); if (m_Items.ContainsKey(dictionaryID) == true) { throw new Exception("(InitializeItemInfo) Could not Initialize ItemInfo for dictionaryID(" + dictionaryID.ToString() + "), it already exists"); } ItemInfo itemInfo = null; if (_Realm == WowRealm.Emerald_Dream) { itemInfo = ItemInfo.GenerateVanilla(_ItemID, _ItemInfoDownloader); } else if (_Realm == WowRealm.Archangel || _Realm == WowRealm.WarsongTBC) { itemInfo = ItemInfo.GenerateTBC(_ItemID, _ItemInfoDownloader); } if (itemInfo != null) { m_Items.Add(dictionaryID, itemInfo); } else { throw new Exception("(InitializeItemInfo) Could not Initialize ItemInfo for dictionaryID(" + dictionaryID.ToString() + "), ItemInfo generation failed"); } }
public static ItemInfo GenerateTBC(int _ItemID, ItemInfoDownloader _ItemInfoDownloader) { string wowOneDBData = _ItemInfoDownloader.DownloadWoWOneDB_TBC(_ItemID); string wowHeadXMLData = _ItemInfoDownloader.DownloadWoWHeadXMLData(_ItemID); if (wowOneDBData == null || wowHeadXMLData == null) { return(null); } return(new ItemInfo(_ItemID, wowOneDBData, wowHeadXMLData)); }