大闹天宫,英雄排序方式优化
parent
974891f80a
commit
78709a72e8
|
|
@ -19,7 +19,7 @@ import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
public class Hero extends MongoBase {
|
public class Hero extends MongoBase implements Comparable<Hero> {
|
||||||
|
|
||||||
private static final Logger LOGGER = LoggerFactory.getLogger(Hero.class);
|
private static final Logger LOGGER = LoggerFactory.getLogger(Hero.class);
|
||||||
private String id;
|
private String id;
|
||||||
|
|
@ -395,4 +395,13 @@ public class Hero extends MongoBase {
|
||||||
updateString("skin",skin);
|
updateString("skin",skin);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int compareTo(Hero o) {
|
||||||
|
int compareValue = o.getOriginalLevel() - this.getOriginalLevel();
|
||||||
|
if (compareValue != 0) {
|
||||||
|
return compareValue;
|
||||||
|
}
|
||||||
|
return Integer.compare(o.getStar(), this.getStar());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3655,16 +3655,7 @@ public class HeroLogic{
|
||||||
tabletMax = heroManager.getHongmengMaxLevelByInt();
|
tabletMax = heroManager.getHongmengMaxLevelByInt();
|
||||||
}else {
|
}else {
|
||||||
// 玩家英雄背包按等级排序
|
// 玩家英雄背包按等级排序
|
||||||
Collections.sort(heroes, new Comparator<Hero>() {
|
Collections.sort(heroes);
|
||||||
@Override
|
|
||||||
public int compare(Hero hero1, Hero hero2) {
|
|
||||||
int compareValue = hero2.getOriginalLevel() - hero1.getOriginalLevel();
|
|
||||||
if (compareValue != 0) {
|
|
||||||
return compareValue;
|
|
||||||
}
|
|
||||||
return Integer.compare(hero2.getStar(), hero1.getStar());
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
for (int i = 0; i < heroes.size(); i++) {
|
for (int i = 0; i < heroes.size(); i++) {
|
||||||
Hero hero = heroes.get(i);
|
Hero hero = heroes.get(i);
|
||||||
|
|
@ -4344,13 +4335,9 @@ public class HeroLogic{
|
||||||
List<Hero> heroes = new ArrayList<>(values);
|
List<Hero> heroes = new ArrayList<>(values);
|
||||||
|
|
||||||
// 玩家英雄背包按等级排序
|
// 玩家英雄背包按等级排序
|
||||||
Collections.sort(heroes, (hero1, hero2) -> {
|
long start = System.currentTimeMillis();
|
||||||
int compareValue = hero2.getOriginalLevel() - hero1.getOriginalLevel();
|
Collections.sort(heroes);
|
||||||
if (compareValue != 0) {
|
LOGGER.info("英雄背包排序耗时:{}ms",System.currentTimeMillis()-start);
|
||||||
return compareValue;
|
|
||||||
}
|
|
||||||
return Integer.compare(hero2.getStar(), hero1.getStar());
|
|
||||||
});
|
|
||||||
// 等级相加
|
// 等级相加
|
||||||
int count = 0;
|
int count = 0;
|
||||||
for (int i = 0; i < num; i++) {
|
for (int i = 0; i < num; i++) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue