From d8fa42b0f40d6538030af9e6675c940eccb274d4 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Mon, 12 Aug 2019 17:31:49 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=AC=E4=BC=9A=E6=88=98=E6=9F=A5=E7=9C=8B?= =?UTF-8?q?=E5=AF=B9=E6=88=98=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../family/FamilyFightInfoHandler.java | 21 ++++++++ .../ljsd/jieling/logic/family/GuildLogic.java | 48 +++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/handler/family/FamilyFightInfoHandler.java diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/family/FamilyFightInfoHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/family/FamilyFightInfoHandler.java new file mode 100644 index 000000000..90ba47b6a --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/family/FamilyFightInfoHandler.java @@ -0,0 +1,21 @@ +package com.ljsd.jieling.handler.family; + +import com.ljsd.jieling.handler.BaseHandler; +import com.ljsd.jieling.logic.family.GuildLogic; +import com.ljsd.jieling.netty.cocdex.PacketNetData; +import com.ljsd.jieling.network.session.ISession; +import com.ljsd.jieling.protocols.MessageTypeProto; +import org.springframework.stereotype.Component; + +@Component +public class FamilyFightInfoHandler extends BaseHandler { + @Override + public MessageTypeProto.MessageType getMessageCode() { + return MessageTypeProto.MessageType.FAMILY_FIGHT_INFO_REQUEST; + } + + @Override + public void process(ISession iSession, PacketNetData netData) throws Exception { + GuildLogic.viewFightInfo(iSession, MessageTypeProto.MessageType.FAMILY_FIGHT_INFO_RESPONSE); + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java index b69fc0036..289fa8965 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java @@ -854,6 +854,54 @@ public class GuildLogic { } } + /** + * 公会战查看双方对战信息 + * @param session + * @param messageType + * @throws Exception + */ + public static void viewFightInfo(ISession session, MessageTypeProto.MessageType messageType) throws Exception { + User user = UserManager.getUser(session.getUid()); + int guildId = user.getPlayerInfoManager().getGuildId(); + int enemyId = 13; + if(guildId==13){ + enemyId = 14; + } + Family.FamilyFightInfoResponse.Builder builder = Family.FamilyFightInfoResponse.newBuilder(); + builder.addInfo(familyFightDetailInfo(guildId)); + builder.addInfo(familyFightDetailInfo(enemyId)); + MessageUtil.sendMessage(session,1,messageType.getNumber(),builder.build(),true); + + } + private static Family.FamilyFightInfo familyFightDetailInfo(int guildId) throws Exception { + GuildInfo guildInfo = GuilidManager.guildInfoMap.get(guildId); + Map defendInfo = guildInfo.getDefendInfo(); + Family.FamilyFightInfo.Builder fightInfo = Family.FamilyFightInfo.newBuilder(); + fightInfo.setGid(guildId); + for(int i = 0 ; i <3 ;i ++){ + Family.FamilyBuildBuffInfo.Builder buffInfo = Family.FamilyBuildBuffInfo.newBuilder(); + buffInfo.setBuildId(i+1); + buffInfo.setBuffId(i+1); + fightInfo.addBuildBuff(buffInfo); + } + for(Map.Entry entry:defendInfo.entrySet()){ + Family.FamilyFightPlayerInfo.Builder playerInfo = Family.FamilyFightPlayerInfo.newBuilder(); + playerInfo.setBuildId(entry.getValue()); + playerInfo.setBuildId(5); + PlayerManager playerManager = UserManager.getUser(entry.getKey()).getPlayerInfoManager(); + Family.FamilyUserInfo.Builder userInfo =Family.FamilyUserInfo.newBuilder() + .setRoleUid(entry.getKey()) + .setUserName(playerManager.getNickName()) + .setUserLevel(playerManager.getLevel()) + .setPosition(2) + .setSoulForce(HeroLogic.getInstance().calTeamTotalForce(UserManager.getUser(entry.getKey()),501,false)) + .setHead(playerManager.getHead()) + .setFrame(playerManager.getHeadFrame()); + playerInfo.setUserInfo(userInfo); + fightInfo.addUser(playerInfo); + } + return fightInfo.build(); + } /** * 公会战计入缓存 * @throws Exception