| | |
| | | _list.Reverse(); |
| | | foreach (var quality in _list) |
| | | { |
| | | // 排序逻辑:优先按阵营分组排序,同阵营中按开服天数降序排序,最后按武将ID排序 |
| | | heroCollectDict[quality].Sort((a, b) => |
| | | { |
| | | var cfgA = HeroConfig.Get(a); |
| | | var cfgB = HeroConfig.Get(b); |
| | | |
| | | // 1. 按阵营(国家)排序 |
| | | if (cfgA.Country != cfgB.Country) |
| | | { |
| | | return cfgA.Country.CompareTo(cfgB.Country); |
| | | } |
| | | |
| | | // 2. 同阵营中,开服天数越大的排序越靠前 (降序) |
| | | if (cfgA.OpenCollectionDay != cfgB.OpenCollectionDay) |
| | | { |
| | | return cfgB.OpenCollectionDay.CompareTo(cfgA.OpenCollectionDay); |
| | | } |
| | | |
| | | // 3. 其他条件一致时,默认按武将ID升序 |
| | | return a.CompareTo(b); |
| | | }); |
| | | |
| | | heroCollectList.AddRange(heroCollectDict[quality]); |
| | | } |
| | | } |