跨服排行战力展示

back_recharge
duhui 2021-07-30 17:16:43 +08:00
parent 5e2cadc2fe
commit c256929f93
7 changed files with 36 additions and 7 deletions

View File

@ -162,7 +162,7 @@ public class GetWorldArenaChallengeRequestHandler extends BaseHandler<WorldProto
ArenaOfUser arenaOfUser = CrossServiceLogic.getInstance().query(proto.getChallengeUid()); ArenaOfUser arenaOfUser = CrossServiceLogic.getInstance().query(proto.getChallengeUid());
teamInfo = FightUtil.makeCrossPersonData(arenaOfUser,proto.getTeamId()); teamInfo = FightUtil.makeCrossPersonData(arenaOfUser,proto.getTeamId());
arenaEnemys =ArenaLogic.getInstance().getUserCrossArenaEnemy(crossGroup,arenaOfUser,proto.getChallengeRank(),false).build(); arenaEnemys =ArenaLogic.getInstance().getUserCrossArenaEnemy(crossGroup,arenaOfUser,proto.getChallengeRank(),false).build();
defendForce = arenaOfUser.getHeroManager().getTotalForce(); defendForce = arenaOfUser.getHeroManager().getTotalForceByTeam().get(proto.getTeamId());
} else { } else {
//机器人 //机器人

View File

@ -145,6 +145,7 @@ public class CrossServiceLogic {
arenaOfPlayerManager.setGender(player.getSex()); arenaOfPlayerManager.setGender(player.getSex());
arenaOfPlayerManager.setSkin(player.getUserSkin()); arenaOfPlayerManager.setSkin(player.getUserSkin());
arenaOfPlayerManager.setUserMount(player.getUserMount()); arenaOfPlayerManager.setUserMount(player.getUserMount());
arenaOfPlayerManager.setMaxFore(player.getMaxForce());
arenaOfPlayerManager.setServerName(CrossServiceLogic.getInstance().findServerName(GameApplication.serverId)); arenaOfPlayerManager.setServerName(CrossServiceLogic.getInstance().findServerName(GameApplication.serverId));
return arenaOfPlayerManager; return arenaOfPlayerManager;
} }
@ -177,9 +178,13 @@ public class CrossServiceLogic {
jewels.put(v2,item); jewels.put(v2,item);
})); }));
// 总战力 // 总战力
int totalForce = HeroLogic.getInstance().calTeamTotalForce(user, GlobalsDef.WORLD_TEAM_ARENA_DEFENSE,false); HashMap<Integer, Integer> map = new HashMap<>();
ArenaOfHeroManager arenaOfHeroManager = new ArenaOfHeroManager(teams,heroes,jewels,totalForce); teams.forEach((k,v)->{
return arenaOfHeroManager; int totalForce = HeroLogic.getInstance().calTeamTotalForce(user,k,false);
map.put(k,totalForce);
});
int force = HeroLogic.getInstance().calTeamTotalForce(user, GlobalsDef.WORLD_TEAM_ARENA_DEFENSE, false);
return new ArenaOfHeroManager(teams,heroes,jewels,map,force);
} }
private ArenaOfHero buildArenaOfHero(User user,Hero hero, Map<Integer,List<TeamPosHeroInfo>> teamMap){ private ArenaOfHero buildArenaOfHero(User user,Hero hero, Map<Integer,List<TeamPosHeroInfo>> teamMap){

View File

@ -644,7 +644,7 @@ public class ArenaLogic {
}else{ }else{
//跨服切磋 //跨服切磋
ArenaOfUser user = CrossServiceLogic.getInstance().query(challengeUid); ArenaOfUser user = CrossServiceLogic.getInstance().query(challengeUid);
deforce= user.getHeroManager().getTotalForce(); deforce= user.getHeroManager().getTotalForceByTeam().get(myteamId);
deffightTeamInfo = FightUtil.makeCrossPersonData(user,myteamId); deffightTeamInfo = FightUtil.makeCrossPersonData(user,myteamId);
} }
if(myforce<deforce){ if(myforce<deforce){

View File

@ -27,13 +27,16 @@ public class ArenaOfHeroManager {
private Map<String, PropertyItem> jewels = new HashMap<>(); private Map<String, PropertyItem> jewels = new HashMap<>();
private Map<Integer,Integer> totalForceByTeam = new HashMap<>();
private int totalForce; private int totalForce;
public ArenaOfHeroManager(Map<Integer, List<TeamPosHeroInfo>> teams, Map<String, ArenaOfHero> heros, Map<String, PropertyItem> jewels, int totalForce) { public ArenaOfHeroManager(Map<Integer, List<TeamPosHeroInfo>> teams, Map<String, ArenaOfHero> heros, Map<String, PropertyItem> jewels, Map<Integer,Integer> totalForceByTeam, int totalForce) {
this.teams = teams; this.teams = teams;
this.heros = heros; this.heros = heros;
this.jewels = jewels; this.jewels = jewels;
this.totalForceByTeam = totalForceByTeam;
this.totalForce = totalForce; this.totalForce = totalForce;
} }
@ -71,4 +74,12 @@ public class ArenaOfHeroManager {
public void setTotalForce(int totalForce) { public void setTotalForce(int totalForce) {
this.totalForce = totalForce; this.totalForce = totalForce;
} }
public Map<Integer, Integer> getTotalForceByTeam() {
return totalForceByTeam;
}
public void setTotalForceByTeam(Map<Integer, Integer> totalForceByTeam) {
this.totalForceByTeam = totalForceByTeam;
}
} }

View File

@ -22,6 +22,7 @@ public class ArenaOfPlayerManager {
private String serverName; private String serverName;
private int gender; private int gender;
private int skin; private int skin;
private int maxFore;
public ArenaOfPlayerManager(int uId, int level, String name, int head, int headFrame, String guildName, int userTitle, int userMount, int practiceLevel, int serverId, String serverName,int gender,int skin) { public ArenaOfPlayerManager(int uId, int level, String name, int head, int headFrame, String guildName, int userTitle, int userMount, int practiceLevel, int serverId, String serverName,int gender,int skin) {
@ -154,4 +155,12 @@ public class ArenaOfPlayerManager {
public void setSkin(int skin) { public void setSkin(int skin) {
this.skin = skin; this.skin = skin;
} }
public int getMaxFore() {
return maxFore;
}
public void setMaxFore(int maxFore) {
this.maxFore = maxFore;
}
} }

View File

@ -682,7 +682,8 @@ public class PlayerLogic {
for(Map.Entry<Integer,Pokemon> entry:query.getPokemons().entrySet()){ for(Map.Entry<Integer,Pokemon> entry:query.getPokemons().entrySet()){
teamOneTeamInfo.addPokemonInfos(CBean2Proto.getSimpleTeamInfoByPokeMon(entry.getValue(), entry.getKey())); teamOneTeamInfo.addPokemonInfos(CBean2Proto.getSimpleTeamInfoByPokeMon(entry.getValue(), entry.getKey()));
} }
teamOneTeamInfo.setTotalForce(query.getHeroManager().getTotalForce()); Integer integer = query.getHeroManager().getTotalForceByTeam().get(teamId);
teamOneTeamInfo.setTotalForce(integer);
for(Map.Entry<Integer, PurpleMansionSeal> entry:query.getSeals().entrySet()){ for(Map.Entry<Integer, PurpleMansionSeal> entry:query.getSeals().entrySet()){
PurpleMansionSeal value = entry.getValue(); PurpleMansionSeal value = entry.getValue();
ArenaOfHero arenaOfHero = query.getHeroManager().getHeros().get(value.getSubId()); ArenaOfHero arenaOfHero = query.getHeroManager().getHeros().get(value.getSubId());

View File

@ -274,7 +274,9 @@ public abstract class AbstractRank implements IRank {
return CommonProto.UserRank.newBuilder() return CommonProto.UserRank.newBuilder()
.setUid(query.getId()) .setUid(query.getId())
.setLevel(query.getPlayerManager().getLevel()) .setLevel(query.getPlayerManager().getLevel())
.setUserName(query.getPlayerManager().getName())
.setRankInfo(everyRankInfo) .setRankInfo(everyRankInfo)
.setForce(query.getPlayerManager().getMaxFore())
.setSex(query.getPlayerManager().getGender()) .setSex(query.getPlayerManager().getGender())
.setHead(query.getPlayerManager().getHead()) .setHead(query.getPlayerManager().getHead())
.setGuildName(query.getPlayerManager().getGuildName()) .setGuildName(query.getPlayerManager().getGuildName())
@ -282,6 +284,7 @@ public abstract class AbstractRank implements IRank {
.setUserMount(query.getPlayerManager().getUserMount()) .setUserMount(query.getPlayerManager().getUserMount())
.setUserSkin(query.getPlayerManager().getSkin()) .setUserSkin(query.getPlayerManager().getSkin())
.setUserTitle(query.getPlayerManager().getUserTitle()) .setUserTitle(query.getPlayerManager().getUserTitle())
.setPracticeLevel(query.getPlayerManager().getPracticeLevel())
.setServerName(serverName); .setServerName(serverName);
} }