private int CompareDefault(ResHeroCfgInfo l, ResHeroCfgInfo r) { bool flag = this.m_roleInfo.IsHaveHero(l.dwCfgID, false); bool flag2 = this.m_roleInfo.IsHaveHero(r.dwCfgID, false); if (flag && !flag2) { return(1); } if (!flag && flag2) { return(-1); } ResHeroPromotion resHeroPromotion = CHeroDataFactory.CreateHeroData(l.dwCfgID).promotion(); ResHeroPromotion resHeroPromotion2 = CHeroDataFactory.CreateHeroData(r.dwCfgID).promotion(); ResHeroShop resHeroShop = null; ResHeroShop resHeroShop2 = null; GameDataMgr.heroShopInfoDict.TryGetValue(l.dwCfgID, out resHeroShop); GameDataMgr.heroShopInfoDict.TryGetValue(r.dwCfgID, out resHeroShop2); uint num = (resHeroShop != null) ? resHeroShop.dwSortId : 4294967295u; uint num2 = (resHeroShop2 != null) ? resHeroShop2.dwSortId : 4294967295u; if (resHeroPromotion != null) { num = resHeroPromotion.dwSortIndex; } if (resHeroPromotion2 != null) { num2 = resHeroPromotion2.dwSortIndex; } if (resHeroShop != null) { ResDT_RegisterSale_Info stRegisterSale = resHeroShop.stRegisterSale; bool flag3 = CMallSystem.IsinRegisterSales(stRegisterSale); if (flag3) { num = stRegisterSale.dwSortID; } } if (resHeroShop2 != null) { ResDT_RegisterSale_Info stRegisterSale2 = resHeroShop2.stRegisterSale; bool flag4 = CMallSystem.IsinRegisterSales(stRegisterSale2); if (flag4) { num2 = stRegisterSale2.dwSortID; } } if (num < num2) { return(1); } if (num > num2) { return(-1); } if (l.dwCfgID < r.dwCfgID) { return(-1); } if (l.dwCfgID > r.dwCfgID) { return(1); } return(0); }
private int CompareDefault(ResHeroSkin l, ResHeroSkin r) { int result = 0; ResSkinPromotion skinPromotion = CSkinInfo.GetSkinPromotion(l.dwHeroID, l.dwSkinID); ResSkinPromotion skinPromotion2 = CSkinInfo.GetSkinPromotion(r.dwHeroID, r.dwSkinID); ResHeroSkinShop resHeroSkinShop = null; GameDataMgr.skinShopInfoDict.TryGetValue(l.dwID, ref resHeroSkinShop); ResHeroSkinShop resHeroSkinShop2 = null; GameDataMgr.skinShopInfoDict.TryGetValue(r.dwID, ref resHeroSkinShop2); uint num = (resHeroSkinShop == null) ? 4294967295u : resHeroSkinShop.dwSortId; uint num2 = (resHeroSkinShop2 == null) ? 4294967295u : resHeroSkinShop2.dwSortId; if (skinPromotion != null) { num = skinPromotion.dwSortIndex; } if (skinPromotion2 != null) { num2 = skinPromotion2.dwSortIndex; } if (resHeroSkinShop != null) { ResDT_RegisterSale_Info stRegisterSale = resHeroSkinShop.stRegisterSale; bool flag = CMallSystem.IsinRegisterSales(stRegisterSale); if (flag) { num = stRegisterSale.dwSortID; } } if (resHeroSkinShop2 != null) { ResDT_RegisterSale_Info stRegisterSale2 = resHeroSkinShop2.stRegisterSale; bool flag2 = CMallSystem.IsinRegisterSales(stRegisterSale2); if (flag2) { num2 = stRegisterSale2.dwSortID; } } if (num < num2) { result = 1; } if (num > num2) { result = -1; } bool flag3 = this.m_roleInfo.IsHaveHeroSkin(l.dwHeroID, l.dwSkinID, false); bool flag4 = this.m_roleInfo.IsHaveHeroSkin(r.dwHeroID, r.dwSkinID, false); if (flag3 && !flag4) { return(1); } if (!flag3 && flag4) { return(-1); } if ((skinPromotion != null && skinPromotion.bSortIndexOnly > 0) || (skinPromotion2 != null && skinPromotion2.bSortIndexOnly > 0)) { return(result); } if (CSkinInfo.IsCanBuy(l.dwHeroID, l.dwSkinID) && !CSkinInfo.IsCanBuy(r.dwHeroID, r.dwSkinID)) { return(-1); } if (!CSkinInfo.IsCanBuy(l.dwHeroID, l.dwSkinID) && CSkinInfo.IsCanBuy(r.dwHeroID, r.dwSkinID)) { return(1); } if (this.m_roleInfo.IsHaveHero(l.dwHeroID, false) && !this.m_roleInfo.IsHaveHero(r.dwHeroID, false)) { return(-1); } if (!this.m_roleInfo.IsHaveHero(l.dwHeroID, false) && this.m_roleInfo.IsHaveHero(r.dwHeroID, false)) { return(1); } return(result); }