Merge remote-tracking branch 'origin/master_test_gn' into master_test_gn
commit
43b3eaca7f
|
@ -43,13 +43,8 @@ public class GetPlayerOneTeamInfo extends BaseHandler<PlayerInfoProto.GetPlayerO
|
|||
oneTeamInfo = PlayerLogic.getInstance().getOneTeamInfo(info.getEnemyId(),proto.getTeamId(),info);
|
||||
}else{
|
||||
//真人
|
||||
List<Integer> teamId =new ArrayList<>(1);
|
||||
teamId.add(proto.getTeamId());
|
||||
PlayerInfoProto.GetPlayerOneTeamInfoResponse.Builder playerTeamInfo =
|
||||
PlayerInfoProto.GetPlayerOneTeamInfoResponse.newBuilder()
|
||||
.setTeamInfo(PlayerLogic.getInstance().getCrossYxldOneTeamInfoNew(proto.getPlayerId(), teamId));
|
||||
MessageUtil.sendMessage(iSession,1, MessageTypeProto.MessageType.GET_PLAYER_ONE_TEAM_INFO_RESPONSE.getNumber(),playerTeamInfo.build(),true);
|
||||
return;
|
||||
|
||||
oneTeamInfo = PlayerLogic.getInstance().getCrossOneTeamInfo(proto.getPlayerId(),proto.getTeamId());
|
||||
}
|
||||
}
|
||||
MessageUtil.sendMessage(iSession,1, MessageTypeProto.MessageType.GET_PLAYER_ONE_TEAM_INFO_RESPONSE.getNumber(),oneTeamInfo,true);
|
||||
|
|
|
@ -917,7 +917,7 @@ public class FightUtil {
|
|||
return CommonProto.FightTeamInfo.
|
||||
newBuilder()
|
||||
.addAllFightUnitList(heroFightInfos)
|
||||
.addAllPokemonUnitList(HeroLogic.getInstance().getCrossPokemon(crossArenaManager,csPlayer))
|
||||
.addAllPokemonUnitList(new ArrayList<>())
|
||||
.setTeamPassiveList("")
|
||||
.setForceScore(crossArenaManager.getMaxHistoryForce())
|
||||
.build();
|
||||
|
|
|
@ -1949,4 +1949,95 @@ public class PlayerLogic {
|
|||
builder.setHero(heroBuilder);
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
//获取跨服非玉虚玩家队伍信息
|
||||
public PlayerInfoProto.GetPlayerOneTeamInfoResponse getCrossOneTeamInfo(int id,int teamId) throws Exception {
|
||||
CSPlayer csPlayer = CrossServiceLogic.getPlayerByRedis(id);
|
||||
if(csPlayer==null){
|
||||
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
|
||||
}
|
||||
//如果是本服玩家 直接本服调用数据
|
||||
if(GameApplication.serverId == csPlayer.getServerId()){
|
||||
User user = UserManager.getUserNotCache(id);
|
||||
if (user == null){
|
||||
throw new ErrorCodeException(ErrorCode.USE_NOT_EXIT);
|
||||
}
|
||||
return PlayerLogic.getInstance().getOneTeamInfo(id, teamId);
|
||||
}
|
||||
//基本信息从redis中拿 剩下的队伍 属性 数据量大的数据rpc调用
|
||||
String serverName = CrossServiceLogic.simplifyServerName(csPlayer.getServerId());
|
||||
GuildInfo mapEntry = CrossDeathPathLogic.getCrossGuild(csPlayer.getGuildId());
|
||||
CommonProto.TeamOneInfo.Builder oneTeamInfo = CommonProto.TeamOneInfo.newBuilder()
|
||||
.setHead(csPlayer.getHead())
|
||||
.setHeadFrame(csPlayer.getHeadFrame())
|
||||
.setUserTitle(csPlayer.getUserTitle())
|
||||
.setLevel(csPlayer.getLevel())
|
||||
.setName(csPlayer.getName())
|
||||
.setGuildName(Optional.ofNullable(mapEntry).map(GuildInfo::getName).orElse("")) //csPlayer.getGuildName()
|
||||
.setPracticeLevel(csPlayer.getPracticeLevel())
|
||||
.setUid(id).setCrossTeamScore(csPlayer.getCrossYuxulundaoNewScore())
|
||||
.setServerName(serverName);
|
||||
|
||||
CrossArenaManager crossArenaManager = getCrossArenaManagerData(csPlayer) ;
|
||||
if(crossArenaManager == null){
|
||||
throw new ErrorCodeException(ErrorCode.SYS_ERROR_CODE);
|
||||
}
|
||||
//rpc 数据调用测试
|
||||
CommonProto.TeamOneTeamInfo.Builder teamOneTeamInfo = CommonProto.TeamOneTeamInfo.newBuilder();
|
||||
List<com.ljsd.jieling.thrift.idl.TeamPosHeroInfo> teamPosHeroInfos = crossArenaManager.getTeams().get(teamId);
|
||||
if(teamPosHeroInfos!=null){
|
||||
for (com.ljsd.jieling.thrift.idl.TeamPosHeroInfo heroInfo:teamPosHeroInfos) {
|
||||
com.ljsd.jieling.thrift.idl.ArenaOfHero hero = crossArenaManager.getHeros().get(heroInfo.getHeroId());
|
||||
teamOneTeamInfo.addTeam(CommonProto.TeamSimpleInfo.newBuilder()
|
||||
.setHeroid(hero.getId())
|
||||
.setHeroTid(hero.getTemplateId())
|
||||
.setLevel(hero.getLevel())
|
||||
.setStar(hero.getStar())
|
||||
.setPosition(heroInfo.getPosition())
|
||||
.setSkinId(hero.getSkin())
|
||||
.setGodSoulLv(hero.getGodSoulLv())
|
||||
.setPropertyId(hero.getPropertyId())
|
||||
.build());
|
||||
}
|
||||
}
|
||||
if(crossArenaManager.getPokemons()!=null){
|
||||
Map<String, com.ljsd.jieling.thrift.idl.Pokemon> pokemonMap = crossArenaManager.getPokemons();
|
||||
Map<Integer, String> teamMap = crossArenaManager.getPokemonTeamMap();
|
||||
for(Map.Entry<Integer, String> entry :teamMap.entrySet()){
|
||||
// clone 深度复制
|
||||
com.ljsd.jieling.thrift.idl.Pokemon pokemon = pokemonMap.get(entry.getValue());
|
||||
pokemon.setTmpId(pokemon.getTmpId());
|
||||
pokemon.setId(pokemon.getId());
|
||||
pokemon.setLevel(pokemon.getLevel());
|
||||
pokemon.setStar(pokemon.getStar());
|
||||
teamOneTeamInfo.addPokemonInfos(CBean2Proto.getSimpleTeamInfoByPokeMon(pokemon, entry.getKey()));
|
||||
}
|
||||
}
|
||||
LOGGER.info("=====================跨服获取阵容:{}",teamId);
|
||||
Integer integer = crossArenaManager.getTotalForceByTeam().getOrDefault(teamId,0);
|
||||
teamOneTeamInfo.setTotalForce(integer);
|
||||
if(crossArenaManager.getSeals()!= null){
|
||||
for(Map.Entry<Integer, com.ljsd.jieling.thrift.idl.PurpleMansionSeal> entry:crossArenaManager.getSeals().entrySet()){
|
||||
com.ljsd.jieling.thrift.idl.PurpleMansionSeal value = entry.getValue();
|
||||
com.ljsd.jieling.thrift.idl.ArenaOfHero arenaOfHero = crossArenaManager.getHeros().get(value.getSubId());
|
||||
if(value.getState()==0){
|
||||
continue;
|
||||
}
|
||||
teamOneTeamInfo.addSealShow(CommonProto.PurpleSealShowInfo.newBuilder().setType(value.getType()).setId(value.getSealId()).setHeroTId(arenaOfHero==null?0:arenaOfHero.getTemplateId()));
|
||||
}
|
||||
}
|
||||
//builder.setTeam(teamOneTeamInfo.build());
|
||||
//builder.addCrossTeam(teamOneTeamInfo.build());
|
||||
//四象心法数据
|
||||
teamOneTeamInfo.addAllSixiangxinfaInfo(RpcData2sixiangData(crossArenaManager.getSixiangInfos()));
|
||||
//命格
|
||||
teamOneTeamInfo.addAllLifeGridInfo(RpcData2LifeGridInfos(crossArenaManager));
|
||||
//玩家坐骑信息
|
||||
teamOneTeamInfo.addAllUserMountInfo(getUserMountList(crossArenaManager.getUserMountValidTime()));
|
||||
//身外化身
|
||||
teamOneTeamInfo.addAllTransformationCardInfo(getTransformationInfoListFromRpc(crossArenaManager.getTransformationList()));
|
||||
oneTeamInfo.setTeam(teamOneTeamInfo);
|
||||
PlayerInfoProto.GetPlayerOneTeamInfoResponse.Builder playerTeamInfo = PlayerInfoProto.GetPlayerOneTeamInfoResponse.newBuilder().setTeamInfo(oneTeamInfo);
|
||||
return playerTeamInfo.build();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue