private int CompareDefault(ResHeroSkin l, ResHeroSkin r) { int num = 0; ResSkinPromotion skinPromotion = CSkinInfo.GetSkinPromotion(l.dwHeroID, l.dwSkinID); ResSkinPromotion promotion2 = CSkinInfo.GetSkinPromotion(r.dwHeroID, r.dwSkinID); ResHeroSkinShop shop = null; GameDataMgr.skinShopInfoDict.TryGetValue(l.dwID, out shop); ResHeroSkinShop shop2 = null; GameDataMgr.skinShopInfoDict.TryGetValue(r.dwID, out shop2); uint dwSortIndex = (shop == null) ? uint.MaxValue : shop.dwSortId; uint num3 = (shop2 == null) ? uint.MaxValue : shop2.dwSortId; if (skinPromotion != null) { dwSortIndex = skinPromotion.dwSortIndex; } if (promotion2 != null) { num3 = promotion2.dwSortIndex; } if (dwSortIndex < num3) { num = 1; } if (dwSortIndex > num3) { num = -1; } bool flag = this.m_roleInfo.IsHaveHeroSkin(l.dwHeroID, l.dwSkinID, false); bool flag2 = this.m_roleInfo.IsHaveHeroSkin(r.dwHeroID, r.dwSkinID, false); if (flag && !flag2) { return(1); } if (!flag && flag2) { return(-1); } if ((skinPromotion == null) || (skinPromotion.bSortIndexOnly <= 0)) { if ((promotion2 != null) && (promotion2.bSortIndexOnly > 0)) { return(num); } 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(num); }
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); }