mission 合并

back_recharge
wangyuan 2019-08-12 10:28:49 +08:00
parent 50606d6e24
commit a4144852d3
2 changed files with 9 additions and 7 deletions

View File

@ -159,19 +159,17 @@ public class HeroLogic {
} }
} }
boolean isSpecial = false;
if(sLotterySetting.getOrderBoxPool()!=null && sLotterySetting.getOrderBoxPool().length>0){ if(sLotterySetting.getOrderBoxPool()!=null && sLotterySetting.getOrderBoxPool().length>0){
pooId = getOrderBoxPoolId(sLotterySetting); pooId = getOrderBoxPoolId(sLotterySetting);
if(pooId == 0){ if(pooId == 0){
MessageUtil.sendErrorResponse(session, 0, MessageTypeProto.MessageType.HERO_RAND_RESPONSE_VALUE,""); MessageUtil.sendErrorResponse(session, 0, MessageTypeProto.MessageType.HERO_RAND_RESPONSE_VALUE,"");
return; return;
} }
isSpecial = true;
} }
//检验消耗 //检验消耗
boolean allowFree = false; boolean allowFree = false;
if(perCount == 1){ if(perCount == 1 && sLotterySetting.getLotteryType() == 1){
allowFree = user.getPlayerInfoManager().check(VipPrivilegeType.FREE_HERO_RANDOM, 1); allowFree = user.getPlayerInfoManager().check(VipPrivilegeType.FREE_HERO_RANDOM, 1);
} }
if(!allowFree){ if(!allowFree){

View File

@ -263,17 +263,21 @@ public class MissionEventDistributor {
User user = UserManager.getUser(session.getUid()); User user = UserManager.getUser(session.getUid());
Map<GameMisionType, List<MissionStateChangeInfo>> missionTypeEnumListMap = threadMissionChangeList.get(); Map<GameMisionType, List<MissionStateChangeInfo>> missionTypeEnumListMap = threadMissionChangeList.get();
if (sendIndication) { if (sendIndication) {
PlayerInfoProto.MissionUpdateListIndication.Builder builder = PlayerInfoProto.MissionUpdateListIndication.newBuilder();
for(Map.Entry<GameMisionType, List<MissionStateChangeInfo>> misionTypeListEntry : missionTypeEnumListMap.entrySet()){ for(Map.Entry<GameMisionType, List<MissionStateChangeInfo>> misionTypeListEntry : missionTypeEnumListMap.entrySet()){
sendMissionUpdate(session,user,misionTypeListEntry.getValue(),misionTypeListEntry.getKey()); buildMissionUpdate(user,misionTypeListEntry.getValue(),misionTypeListEntry.getKey(),builder);
} }
if(builder.getUserMissionInfoCount()>0){
MessageUtil.sendIndicationMessage(session,1, MessageTypeProto.MessageType.MISSION_UPDATE_INDICATION_VALUE,builder.build(),true);
}
} }
} }
private static void sendMissionUpdate(ISession session, User user ,List<MissionStateChangeInfo> missionStateChangeInfos,GameMisionType gameMisionType) { private static void buildMissionUpdate(User user,List<MissionStateChangeInfo> missionStateChangeInfos, GameMisionType gameMisionType,PlayerInfoProto.MissionUpdateListIndication.Builder builder) {
if(missionStateChangeInfos.isEmpty()){ if(missionStateChangeInfos.isEmpty()){
return; return;
} }
PlayerInfoProto.MissionUpdateListIndication.Builder builder = PlayerInfoProto.MissionUpdateListIndication.newBuilder();
for(MissionStateChangeInfo missionStateChangeInfo : missionStateChangeInfos){ for(MissionStateChangeInfo missionStateChangeInfo : missionStateChangeInfos){
MissionState missionState = missionStateChangeInfo.getMissionState(); MissionState missionState = missionStateChangeInfo.getMissionState();
int state = missionState.getState(); int state = missionState.getState();
@ -315,7 +319,7 @@ public class MissionEventDistributor {
} }
builder.addUserMissionInfo(CommonProto.UserMissionInfo.newBuilder().setMissionId(missionStateChangeInfo.getMissionId()).setType(gameMisionType.getType()).setState(state).setProgress(progress).setTakeTimes(missionStateChangeInfo.getHadTakes())); builder.addUserMissionInfo(CommonProto.UserMissionInfo.newBuilder().setMissionId(missionStateChangeInfo.getMissionId()).setType(gameMisionType.getType()).setState(state).setProgress(progress).setTakeTimes(missionStateChangeInfo.getHadTakes()));
} }
MessageUtil.sendIndicationMessage(session,1, MessageTypeProto.MessageType.MISSION_UPDATE_INDICATION_VALUE,builder.build(),true);
} }
public static Map<GameMisionType, List<MissionStateChangeInfo>> onGameEvent(User user, GameEvent event, Object ... parm) throws Exception { public static Map<GameMisionType, List<MissionStateChangeInfo>> onGameEvent(User user, GameEvent event, Object ... parm) throws Exception {