跨服排行战力展示

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());
teamInfo = FightUtil.makeCrossPersonData(arenaOfUser,proto.getTeamId());
arenaEnemys =ArenaLogic.getInstance().getUserCrossArenaEnemy(crossGroup,arenaOfUser,proto.getChallengeRank(),false).build();
defendForce = arenaOfUser.getHeroManager().getTotalForce();
defendForce = arenaOfUser.getHeroManager().getTotalForceByTeam().get(proto.getTeamId());
} else {
//机器人

View File

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

View File

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

View File

@ -27,13 +27,16 @@ public class ArenaOfHeroManager {
private Map<String, PropertyItem> jewels = new HashMap<>();
private Map<Integer,Integer> totalForceByTeam = new HashMap<>();
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.heros = heros;
this.jewels = jewels;
this.totalForceByTeam = totalForceByTeam;
this.totalForce = totalForce;
}
@ -71,4 +74,12 @@ public class ArenaOfHeroManager {
public void setTotalForce(int 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 int gender;
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) {
@ -154,4 +155,12 @@ public class ArenaOfPlayerManager {
public void setSkin(int 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()){
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()){
PurpleMansionSeal value = entry.getValue();
ArenaOfHero arenaOfHero = query.getHeroManager().getHeros().get(value.getSubId());

View File

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