private void ResetSkinList() { this.m_skinList.Clear(); Dictionary <long, object> .Enumerator enumerator = GameDataMgr.heroSkinDatabin.GetEnumerator(); while (enumerator.MoveNext()) { KeyValuePair <long, object> current = enumerator.get_Current(); ResHeroSkin resHeroSkin = current.get_Value() as ResHeroSkin; if (resHeroSkin != null && resHeroSkin.dwSkinID != 0u && GameDataMgr.IsSkinAvailableAtShop(resHeroSkin.dwID)) { ResHeroCfgInfo dataByKey = GameDataMgr.heroDatabin.GetDataByKey(resHeroSkin.dwHeroID); if (dataByKey != null && GameDataMgr.IsHeroAvailable(dataByKey.dwCfgID)) { CMallItem cMallItem = new CMallItem(resHeroSkin.dwHeroID, resHeroSkin.dwSkinID, CMallItem.IconType.Normal); if (this.m_heroJobType == enHeroJobType.All || dataByKey.bMainJob == (byte)this.m_heroJobType || dataByKey.bMinorJob == (byte)this.m_heroJobType) { if (this.m_notOwnFlag) { if (!cMallItem.Owned(false)) { this.m_skinList.Add(resHeroSkin); } } else { this.m_skinList.Add(resHeroSkin); } } } } } }
public static bool IsCanBuy(uint heroId, uint skinId) { ResHeroSkin heroSkin = GetHeroSkin(heroId, skinId); if (heroSkin == null) { return(false); } if (!GameDataMgr.IsSkinAvailableAtShop(heroSkin.dwID)) { return(false); } ResSkinPromotion skinPromotion = new ResSkinPromotion(); stPayInfoSet payInfoSetOfGood = new stPayInfoSet(); skinPromotion = GetSkinPromotion(heroSkin.dwID); if (skinPromotion != null) { payInfoSetOfGood = CMallSystem.GetPayInfoSetOfGood(false, 0, skinPromotion.bIsBuyCoupons > 0, skinPromotion.dwBuyCoupons, skinPromotion.bIsBuyDiamond > 0, skinPromotion.dwBuyDiamond, 0x2710); } else { payInfoSetOfGood = CMallSystem.GetPayInfoSetOfGood(heroSkin); } return(payInfoSetOfGood.m_payInfoCount > 0); }
public static bool IsCanBuy(uint heroId, uint skinId) { ResHeroSkin heroSkin = CSkinInfo.GetHeroSkin(heroId, skinId); if (heroSkin == null) { return(false); } if (!GameDataMgr.IsSkinAvailableAtShop(heroSkin.dwID)) { return(false); } ResSkinPromotion resSkinPromotion = new ResSkinPromotion(); stPayInfoSet stPayInfoSet = default(stPayInfoSet); resSkinPromotion = CSkinInfo.GetSkinPromotion(heroSkin.dwID); if (resSkinPromotion != null) { stPayInfoSet = CMallSystem.GetPayInfoSetOfGood(false, 0u, resSkinPromotion.bIsBuyCoupons > 0, resSkinPromotion.dwBuyCoupons, resSkinPromotion.bIsBuyDiamond > 0, resSkinPromotion.dwBuyDiamond, 10000u); } else { stPayInfoSet = CMallSystem.GetPayInfoSetOfGood(heroSkin); } return(stPayInfoSet.m_payInfoCount > 0); }
private void ResetSkinList() { this.m_skinList.Clear(); Dictionary <long, object> .Enumerator enumerator = GameDataMgr.heroSkinDatabin.GetEnumerator(); while (enumerator.MoveNext()) { KeyValuePair <long, object> current = enumerator.Current; ResHeroSkin item = current.Value as ResHeroSkin; if (((item != null) && (item.dwSkinID != 0)) && GameDataMgr.IsSkinAvailableAtShop(item.dwID)) { ResHeroCfgInfo dataByKey = GameDataMgr.heroDatabin.GetDataByKey(item.dwHeroID); if (((dataByKey != null) && GameDataMgr.IsHeroAvailable(dataByKey.dwCfgID)) && (((this.m_heroJobType == enHeroJobType.All) || (dataByKey.bMainJob == ((byte)this.m_heroJobType))) || (dataByKey.bMinorJob == ((byte)this.m_heroJobType)))) { this.m_skinList.Add(item); } } } }