task
parent
47d60b8588
commit
49ff1455f0
|
|
@ -7,6 +7,7 @@ import com.ljsd.jieling.logic.dao.ExpeditionNodeInfo;
|
|||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.expedition.ExpeditionLogic;
|
||||
import com.ljsd.jieling.logic.mission.GameEvent;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import com.ljsd.jieling.protocols.CommonProto;
|
||||
import com.ljsd.jieling.protocols.Expedition;
|
||||
|
|
@ -67,6 +68,7 @@ public class ReCoverExpeditionHeroRequestHandler extends BaseHandler<Expedition.
|
|||
});
|
||||
|
||||
Expedition.ReCoverExpeditionHeroResponse.Builder build = Expedition.ReCoverExpeditionHeroResponse.newBuilder().addAllHeroInfo(set);
|
||||
user.getUserMissionManager().onGameEvent(user, GameEvent.EXPEDITION_TIMES);
|
||||
MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.EXPEDITION_RECOVER_HERO_RESONSE_VALUE, build.build(), true);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ import com.ljsd.jieling.logic.dao.ExpeditionNodeInfo;
|
|||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.expedition.ExpeditionLogic;
|
||||
import com.ljsd.jieling.logic.mission.GameEvent;
|
||||
import com.ljsd.jieling.logic.player.PlayerLogic;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import com.ljsd.jieling.protocols.CommonProto;
|
||||
|
|
@ -83,6 +84,7 @@ public class ReliveExpeditionHeroRequest extends BaseHandler<Expedition.ReliveEx
|
|||
|
||||
Expedition.ReliveExpeditionHeroResponse build = Expedition.ReliveExpeditionHeroResponse.newBuilder()
|
||||
.setHeroInfo(CommonProto.ExpeditionSimpleHeroInfo.newBuilder().setHeroId(heroId).setRemainHp(1d).build()).build();
|
||||
user.getUserMissionManager().onGameEvent(user, GameEvent.EXPEDITION_TIMES);
|
||||
MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.EXPEDITION_RELIVE_HERO_RESONSE_VALUE, build, true);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ import com.ljsd.jieling.logic.dao.ExpeditionNodeInfo;
|
|||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.expedition.ExpeditionLogic;
|
||||
import com.ljsd.jieling.logic.mission.GameEvent;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import com.ljsd.jieling.protocols.CommonProto;
|
||||
import com.ljsd.jieling.protocols.Expedition;
|
||||
|
|
@ -83,6 +84,7 @@ public class TakeHolyEquipRequest extends BaseHandler<Expedition.TakeHolyEquipRe
|
|||
MessageUtil.sendIndicationMessage(iSession, 1, MessageTypeProto.MessageType.EXPEDITION_NOINFO_INDICATION_VALUE, builder.build(), true);
|
||||
|
||||
Expedition.TakeHolyEquipResponse.Builder build = Expedition.TakeHolyEquipResponse.newBuilder().setEquipId(expeditionItem.getId());
|
||||
user.getUserMissionManager().onGameEvent(user, GameEvent.EXPEDITION_TIMES);
|
||||
MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.EXPEDITION_TAKE_HOLY_EQUIP_RESONSE_VALUE, build.build(), true);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ import com.ljsd.jieling.logic.activity.ActivityLogic;
|
|||
import com.ljsd.jieling.logic.dao.*;
|
||||
import com.ljsd.jieling.logic.dao.root.GlobalSystemControl;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.mission.GameEvent;
|
||||
import com.ljsd.jieling.logic.player.PlayerLogic;
|
||||
import com.ljsd.jieling.logic.question.QuestionLogic;
|
||||
import com.ljsd.jieling.logic.store.BuyGoodsLogic;
|
||||
|
|
@ -66,6 +67,7 @@ public class GetPlayerInfoHandler extends BaseHandler{
|
|||
PlayerManager playerInfoManager = user.getPlayerInfoManager();
|
||||
ActivityLogic.getInstance().flushForLogin(user,iSession);
|
||||
GlobalDataManaager.checkNeedReFlush(iSession,user,null);
|
||||
user.getUserMissionManager().onGameEvent(user, GameEvent.LOGIN_GAME,0);
|
||||
playerInfoManager.setLoginTime(TimeUtils.now());
|
||||
Map<Integer, Integer> guidePoints = playerInfoManager.getGuidePoints();
|
||||
Map<Integer, VipInfo> vipInfo = playerInfoManager.getVipInfo();
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package com.ljsd.jieling.handler;
|
|||
|
||||
import com.ljsd.jieling.logic.GlobalDataManaager;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.mission.GameEvent;
|
||||
import com.ljsd.jieling.netty.cocdex.PacketNetData;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import com.ljsd.jieling.protocols.MessageTypeProto;
|
||||
|
|
@ -18,5 +19,6 @@ public class ServerFiveHandler extends BaseHandler{
|
|||
@Override
|
||||
public void process(ISession iSession, PacketNetData netData) throws Exception {
|
||||
GlobalDataManaager.checkNeedReFlush(iSession, UserManager.getUser(iSession.getUid()), PlayerInfoProto.FivePlayerUpdateIndication.newBuilder());
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ import com.ljsd.jieling.logic.activity.event.LuckWheelEvent;
|
|||
import com.ljsd.jieling.logic.activity.event.Poster;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.mission.GameEvent;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import com.ljsd.jieling.protocols.CommonProto;
|
||||
import com.ljsd.jieling.protocols.MessageTypeProto;
|
||||
|
|
@ -58,6 +59,7 @@ public class GetLuckWheelRandHandler extends BaseHandler<PlayerInfoProto.GetLuck
|
|||
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(proto.getActivityId());
|
||||
SDialRewardSetting sDialRewardSetting = SDialRewardSetting.getsDialRewardSettingMapByType().get(sGlobalActivity.getType());
|
||||
int reson = sGlobalActivity.getType() == 30 ? BIReason.LUCK_WHEEL : BIReason.LUCK_WHEEL_ADVANCE;
|
||||
|
||||
//checkAndUpdate cost
|
||||
LuckWheelMission luckWheelMission = ActivityLogic.getInstance().getLuckWheel(user.getActivityManager(),sGlobalActivity.getType());
|
||||
|
||||
|
|
@ -122,6 +124,7 @@ public class GetLuckWheelRandHandler extends BaseHandler<PlayerInfoProto.GetLuck
|
|||
builder.setActivityId(proto.getActivityId());
|
||||
builder.setDrop(drop);
|
||||
builder.addAllPosInfos(rewardPosInfoList);
|
||||
user.getUserMissionManager().onGameEvent(user, GameEvent.LUCK_WHEEL_TIMES,reson);
|
||||
MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.GET_LUCKWHEEL_RANDREWARD_RESPONSE_VALUE, builder.build(), true);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -341,6 +341,7 @@ public class GlobalDataManaager implements IManager {
|
|||
byte[] byteBuf = MessageUtil.wrappedBuffer(session.getUid(), session.getToken(), indicationIndex,1, MessageTypeProto.MessageType.FIVE_PLAYER_REFLUSH_INDICATION_VALUE, fBuilder.build());
|
||||
session.setFiveByteBuf(byteBuf);
|
||||
}
|
||||
user.getUserMissionManager().onGameEvent(user, GameEvent.LOGIN_GAME,0);
|
||||
}else {
|
||||
user.getPlayerInfoManager().setIsdayFirst(0);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -47,7 +47,6 @@ class MissSearchExpectRankActivity extends ExpectRankActivity {
|
|||
}
|
||||
//更新进度
|
||||
ISession sessionByUid = OnlineUserManager.getSessionByUid(user.getId());
|
||||
System.out.print(activityMission.toString());
|
||||
sendActivityProgress(sessionByUid, activityMission, null);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -118,8 +118,19 @@ public class CumulationData {
|
|||
|
||||
public int friendApplyCount;//提出好友申请次数
|
||||
|
||||
public int rechargeTotal; //累計充值
|
||||
|
||||
public int refreshMrTimes; //刷新迷宫寻宝次数
|
||||
public Map<Integer,Integer> luckyWheelTimes = new HashMap<>(); //幸运探宝次数
|
||||
|
||||
public int expeditinoTimes; // 猎妖之路次数
|
||||
|
||||
public Map<Integer,Integer> especialEquipStar = new HashMap<>();//法宝升到%s星级的数量为
|
||||
|
||||
public Map<Integer,Integer> finishMissionTimes = new HashMap<>();//完成迷宫寻宝%品质%次
|
||||
public Map<Integer,Integer> loginTimesDay = new HashMap<>();//每日登陆次数
|
||||
public Map<Integer,Integer> servenGiftTimes = new HashMap<>();//每日登陆次数
|
||||
|
||||
|
||||
|
||||
public Result updateData(MissionType missionType, Object...parm) throws Exception {
|
||||
|
|
|
|||
|
|
@ -371,6 +371,9 @@ public class UserMissionManager extends MongoBase {
|
|||
if(!sevenHappyMissionType.getDoingMissionIds().isEmpty() ){
|
||||
List<STreasureTaskConfig> sTreasureTaskConfigs = STableManager.getFigureConfig(TaskStaticConfig.class).getsTreasureTaskConfigListByTypeMap().get(missionType.getMissionTypeValue());
|
||||
if(sTreasureTaskConfigs!=null && user.getActivityManager().getSenvenTime()>System.currentTimeMillis()){
|
||||
if(missionType == MissionType.LOGIN_TIMES){
|
||||
parm=new Object[]{TimeUtils.differentDays(user.getActivityManager().getSenvenTime(),System.currentTimeMillis())};
|
||||
}
|
||||
CumulationData.Result result = sevenHappyCumulationData.updateData(missionType, parm);
|
||||
if(result!=null){
|
||||
sevenHappyMissionType.calCumulationDataResult(user,result,missionTypeEnumListMap.get(GameMisionType.SEVENMISSION),sevenHappyCumulationData);
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ public enum GameEvent {
|
|||
USER_FORCE_CHANGE,
|
||||
CONSUMER_MATERIAL,//道具消耗
|
||||
WORKSHOP_LEVELUP,//炼造等级达到
|
||||
GET_EQUIP,//获取新英雄
|
||||
GET_EQUIP,//获取装备
|
||||
STORY_FIGHT, //副本挑战
|
||||
SECRETBOX,// 秘盒抽取
|
||||
KILLINVASIONBOSS,// 外敌入侵击杀次数
|
||||
|
|
@ -74,5 +74,12 @@ public enum GameEvent {
|
|||
JOIN_FAMILY,//加入公会次数
|
||||
FRIEND_APPLY,//提出好友申请次数
|
||||
|
||||
COPY_COHERO_TIMES//通关剧情副本和精英本
|
||||
LOGIN_GAME,//登陆游戏
|
||||
COPY_COHERO_TIMES,//通关剧情副本和精英本
|
||||
RECHARGE_TOTAL,//累計充值
|
||||
MAZE_TREASURE_TIMES,//寻宝
|
||||
LUCK_WHEEL_TIMES,//幸运探宝
|
||||
EXPEDITION_TIMES,//完成猎妖之路节点
|
||||
|
||||
BUY_SEVEN_GIFT,//购买七日礼包
|
||||
}
|
||||
|
|
|
|||
|
|
@ -107,6 +107,9 @@ public class MissionLoigc {
|
|||
Set<Integer> finishMissionIds = sevenHappyMissionType.getFinishMissionIds();
|
||||
int missionType = GameMisionType.SEVENMISSION.getType();
|
||||
for(STreasureTaskConfig sTreasureTaskConfig:sTreasureTaskConfigs){
|
||||
if(sTreasureTaskConfig.getTaskType() == MissionType.SEVEN_GIFT_BUY.getMissionTypeValue()){
|
||||
continue;
|
||||
}
|
||||
int state = 2;
|
||||
int missionId = sTreasureTaskConfig.getId();
|
||||
int progrss = sTreasureTaskConfig.getTaskValue()[1][0];
|
||||
|
|
@ -723,6 +726,37 @@ public class MissionLoigc {
|
|||
case FRIEND_APPLY:
|
||||
count = cumulationData.friendApplyCount;
|
||||
break;
|
||||
case LOGIN_TIMES:
|
||||
count = cumulationData.loginTimesDay.get(missionSubType[0]);
|
||||
break;
|
||||
case REARGE_TOTAL:
|
||||
count = cumulationData.rechargeTotal;
|
||||
break;
|
||||
case FINISH_MISSING_ROOM:
|
||||
count = cumulationData.finishMissionTimes.get(missionSubType[0]);
|
||||
break;
|
||||
case REFRESH_MISSING_ROOM:
|
||||
count = cumulationData.refreshMrTimes;
|
||||
break;
|
||||
//todo
|
||||
case SPECIAL_EQUIP_LEVEL_UP:
|
||||
// count = cumulationData.friendApplyCount;
|
||||
break;
|
||||
case LUCKY_WHEELS_TIMES:
|
||||
if(missionSubType[0] == 0){
|
||||
for(int value : cumulationData.luckyWheelTimes.values()){
|
||||
count+=value;
|
||||
}
|
||||
}else{
|
||||
count = cumulationData.luckyWheelTimes.get(missionSubType[0]);
|
||||
}
|
||||
break;
|
||||
case FINISH_EXPEDITION_HERO_TIMES:
|
||||
count = cumulationData.expeditinoTimes;
|
||||
break;
|
||||
case SEVEN_GIFT_BUY:
|
||||
count = cumulationData.servenGiftTimes.get(missionSubType[0]);
|
||||
break;
|
||||
default:
|
||||
count = 0;
|
||||
break;
|
||||
|
|
@ -739,6 +773,7 @@ public class MissionLoigc {
|
|||
missingRoomMissionType.heroSend(user,hero,missionId);
|
||||
Poster.getPoster().dispatchEvent(new MissingRoomBestEvent(SMazeTreasure.sMazeTreasureMap.get(missionId%10_000).getTaskType(),user.getId()));
|
||||
user.getUserMissionManager().updateString("missingRoomMissionType",missingRoomMissionType);
|
||||
user.getUserMissionManager().onGameEvent(user,GameEvent.MAZE_TREASURE_TIMES,SMazeTreasure.sMazeTreasureMap.get(missionId%10_000).getTaskType());
|
||||
MessageUtil.sendMessage(session,1,messageType.getNumber(),null,true);
|
||||
}
|
||||
//迷宫寻宝加速
|
||||
|
|
|
|||
|
|
@ -1,8 +1,5 @@
|
|||
package com.ljsd.jieling.logic.mission;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public enum MissionType {
|
||||
RECRUITMENT_RANDOM_HEROES(1), //群英征募 群英招募次数
|
||||
COLLECT_QUALITY_HERO (2), //获得某品质妖灵师 获得SSR、SR品质的妖灵师数量
|
||||
|
|
@ -86,9 +83,14 @@ public enum MissionType {
|
|||
JOIN_FAMILY(69),
|
||||
FRIEND_APPLY(71),//提出%s次好友申请
|
||||
COMHERO_STORY_PASS(72), //通关剧情副本或精英副本%s次
|
||||
LOGIN_TIMES(73), //当日登录%s次
|
||||
REARGE_TOTAL(74), //累计充值
|
||||
FINISH_MISSING_ROOM(76),//完成迷宫寻宝%品质%次
|
||||
REFRESH_MISSING_ROOM(77),//刷新迷宫寻宝%s次
|
||||
SPECIAL_EQUIP_LEVEL_UP(78),//法宝提升到%s级
|
||||
LUCKY_WHEELS_TIMES(83),//幸运探宝%次
|
||||
FINISH_EXPEDITION_HERO_TIMES(84),//完成猎妖之路次数达到
|
||||
SEVEN_GIFT_BUY(86),//购买7日狂欢福利礼包%s次七日狂欢积分
|
||||
|
||||
;
|
||||
|
||||
|
|
@ -238,6 +240,22 @@ public enum MissionType {
|
|||
return FRIEND_APPLY;
|
||||
case 72:
|
||||
return COMHERO_STORY_PASS;
|
||||
case 73:
|
||||
return LOGIN_TIMES;
|
||||
case 74:
|
||||
return REARGE_TOTAL;
|
||||
case 76:
|
||||
return FINISH_MISSING_ROOM;
|
||||
case 77:
|
||||
return REFRESH_MISSING_ROOM;
|
||||
case 78:
|
||||
return SPECIAL_EQUIP_LEVEL_UP;
|
||||
case 83:
|
||||
return LUCKY_WHEELS_TIMES;
|
||||
case 84:
|
||||
return FINISH_EXPEDITION_HERO_TIMES;
|
||||
case 86:
|
||||
return SEVEN_GIFT_BUY;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -110,6 +110,14 @@ public class DataManagerDistributor {
|
|||
judges.put(MissionType.JOIN_FAMILY,new JoinFamilyCountManager());
|
||||
judges.put(MissionType.FRIEND_APPLY,new FriendApplyManager());
|
||||
|
||||
judges.put(MissionType.REARGE_TOTAL,new RechargeTotalManger());
|
||||
judges.put(MissionType.FINISH_MISSING_ROOM,new FinishMissionRoomManager());
|
||||
judges.put(MissionType.REFRESH_MISSING_ROOM,new RefreshMissionRoomMamager());
|
||||
judges.put(MissionType.LUCKY_WHEELS_TIMES,new LuckyWheelTimesManager());
|
||||
judges.put(MissionType.FINISH_EXPEDITION_HERO_TIMES,new ExpeditionManager());
|
||||
judges.put(MissionType.LOGIN_TIMES,new LoginTimeManager());
|
||||
judges.put(MissionType.SEVEN_GIFT_BUY,new SevenGiftManager());
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,13 @@
|
|||
package com.ljsd.jieling.logic.mission.data;
|
||||
|
||||
import com.ljsd.jieling.handler.BaseHandler;
|
||||
import com.ljsd.jieling.logic.dao.CumulationData;
|
||||
import com.ljsd.jieling.logic.mission.MissionType;
|
||||
|
||||
public class ExpeditionManager implements BaseDataManager {
|
||||
@Override
|
||||
public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) {
|
||||
data.expeditinoTimes++;
|
||||
return new CumulationData.Result(missionType);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
package com.ljsd.jieling.logic.mission.data;
|
||||
|
||||
import com.ljsd.jieling.logic.dao.CumulationData;
|
||||
import com.ljsd.jieling.logic.mission.MissionType;
|
||||
|
||||
public class FinishMissionRoomManager implements BaseDataManager{
|
||||
@Override
|
||||
public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) {
|
||||
int type = (int) parm[0];
|
||||
data.finishMissionTimes.put(type,data.finishMissionTimes.getOrDefault(type,0)+1);
|
||||
return new CumulationData.Result(missionType);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
package com.ljsd.jieling.logic.mission.data;
|
||||
|
||||
import com.ljsd.jieling.logic.dao.CumulationData;
|
||||
import com.ljsd.jieling.logic.mission.MissionType;
|
||||
|
||||
public class LoginTimeManager implements BaseDataManager{
|
||||
@Override
|
||||
public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) {
|
||||
int dayTh = (int) parm[0];
|
||||
data.loginTimesDay.put(dayTh, data.loginTimesDay.getOrDefault(dayTh,0) + 1);
|
||||
return new CumulationData.Result(missionType);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
package com.ljsd.jieling.logic.mission.data;
|
||||
|
||||
import com.ljsd.jieling.globals.BIReason;
|
||||
import com.ljsd.jieling.logic.dao.CumulationData;
|
||||
import com.ljsd.jieling.logic.mission.MissionType;
|
||||
|
||||
public class LuckyWheelTimesManager implements BaseDataManager{
|
||||
@Override
|
||||
public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) {
|
||||
int type = (int) parm[0];
|
||||
type = type == BIReason.LUCK_WHEEL?1:2;
|
||||
data.luckyWheelTimes.put(type,data.luckyWheelTimes.getOrDefault(type,0)+1);
|
||||
return new CumulationData.Result(missionType);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.ljsd.jieling.logic.mission.data;
|
||||
|
||||
import com.ljsd.jieling.logic.dao.CumulationData;
|
||||
import com.ljsd.jieling.logic.mission.MissionType;
|
||||
|
||||
public class RechargeTotalManger implements BaseDataManager{
|
||||
@Override
|
||||
public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) {
|
||||
data.rechargeTotal +=(int)parm[0];
|
||||
return new CumulationData.Result(missionType);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.ljsd.jieling.logic.mission.data;
|
||||
|
||||
import com.ljsd.jieling.logic.dao.CumulationData;
|
||||
import com.ljsd.jieling.logic.mission.MissionType;
|
||||
|
||||
public class RefreshMissionRoomMamager implements BaseDataManager{
|
||||
@Override
|
||||
public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) {
|
||||
data.refreshMrTimes++;
|
||||
return new CumulationData.Result(missionType);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
package com.ljsd.jieling.logic.mission.data;
|
||||
|
||||
import com.ljsd.jieling.logic.dao.CumulationData;
|
||||
import com.ljsd.jieling.logic.mission.MissionType;
|
||||
|
||||
public class SevenGiftManager implements BaseDataManager{
|
||||
@Override
|
||||
public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) {
|
||||
int storeId=(int)parm[0];
|
||||
int times=(int)parm[1];
|
||||
data.servenGiftTimes.put(storeId,data.servenGiftTimes.getOrDefault(storeId,0) + times);
|
||||
return new CumulationData.Result(missionType);
|
||||
}
|
||||
}
|
||||
|
|
@ -297,9 +297,45 @@ public class MissionEventDistributor {
|
|||
eventEnumListMap.put(GameEvent.COPY_COHERO_TIMES,typeList);
|
||||
eventProcessor.put(GameEvent.COPY_COHERO_TIMES,new CumulationDataEventProcessor());
|
||||
|
||||
typeList = new ArrayList<>();
|
||||
typeList.add(MissionType.REARGE_TOTAL);
|
||||
eventEnumListMap.put(GameEvent.RECHARGE_TOTAL,typeList);
|
||||
eventProcessor.put(GameEvent.RECHARGE_TOTAL,new CumulationDataEventProcessor());
|
||||
|
||||
|
||||
typeList = new ArrayList<>();
|
||||
typeList.add(MissionType.FINISH_MISSING_ROOM);
|
||||
eventEnumListMap.put(GameEvent.MAZE_TREASURE_TIMES,typeList);
|
||||
eventProcessor.put(GameEvent.MAZE_TREASURE_TIMES,new CumulationDataEventProcessor());
|
||||
|
||||
|
||||
typeList = new ArrayList<>();
|
||||
typeList.add(MissionType.REFRESH_MISSING_ROOM);
|
||||
eventEnumListMap.put(GameEvent.MISSING_ROOM_REFRESH,typeList);
|
||||
eventProcessor.put(GameEvent.MISSING_ROOM_REFRESH,new CumulationDataEventProcessor());
|
||||
|
||||
typeList = new ArrayList<>();
|
||||
typeList.add(MissionType.LUCKY_WHEELS_TIMES);
|
||||
eventEnumListMap.put(GameEvent.LUCK_WHEEL_TIMES,typeList);
|
||||
eventProcessor.put(GameEvent.LUCK_WHEEL_TIMES,new CumulationDataEventProcessor());
|
||||
|
||||
typeList = new ArrayList<>();
|
||||
typeList.add(MissionType.FINISH_EXPEDITION_HERO_TIMES);
|
||||
eventEnumListMap.put(GameEvent.EXPEDITION_TIMES,typeList);
|
||||
eventProcessor.put(GameEvent.EXPEDITION_TIMES,new CumulationDataEventProcessor());
|
||||
|
||||
typeList = new ArrayList<>();
|
||||
typeList.add(MissionType.LOGIN_TIMES);
|
||||
eventEnumListMap.put(GameEvent.LOGIN_GAME,typeList);
|
||||
eventProcessor.put(GameEvent.LOGIN_GAME,new CumulationDataEventProcessor());
|
||||
|
||||
typeList = new ArrayList<>();
|
||||
typeList.add(MissionType.SEVEN_GIFT_BUY);
|
||||
eventEnumListMap.put(GameEvent.BUY_SEVEN_GIFT,typeList);
|
||||
eventProcessor.put(GameEvent.BUY_SEVEN_GIFT,new CumulationDataEventProcessor());
|
||||
}
|
||||
|
||||
private static final ThreadLocal<Map<GameMisionType, List<MissionStateChangeInfo>>> threadMissionChangeList =
|
||||
public static final ThreadLocal<Map<GameMisionType, List<MissionStateChangeInfo>>> threadMissionChangeList =
|
||||
new ThreadLocal<>();
|
||||
private static final ThreadLocal<Boolean> threadUseFlag =
|
||||
new ThreadLocal<Boolean>();
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public abstract class AbstractMissionType {
|
|||
missionTypeEnumListMap.add(stateChangeInfo);
|
||||
}
|
||||
|
||||
public abstract void calCumulationDataResult(User user,CumulationData.Result result,List<MissionStateChangeInfo> missionStateChangeInfos, CumulationData cumulationData);
|
||||
public abstract void calCumulationDataResult(User user,CumulationData.Result result,List<MissionStateChangeInfo> missionStateChangeInfos, CumulationData cumulationData) throws Exception;
|
||||
|
||||
public boolean checkIsNew(int missionId){
|
||||
if(doingMissionIds.contains(missionId)){
|
||||
|
|
|
|||
|
|
@ -3,13 +3,17 @@ package com.ljsd.jieling.logic.mission.main;
|
|||
import com.ljsd.jieling.config.clazzStaticCfg.TaskStaticConfig;
|
||||
import com.ljsd.jieling.logic.dao.CumulationData;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.mission.GameMisionType;
|
||||
import com.ljsd.jieling.logic.mission.MissionLoigc;
|
||||
import com.ljsd.jieling.logic.mission.MissionState;
|
||||
import com.ljsd.jieling.logic.mission.MissionType;
|
||||
import com.ljsd.jieling.logic.mission.event.MissionEventDistributor;
|
||||
import config.STreasureTaskConfig;
|
||||
import manager.STableManager;
|
||||
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
public class ServenMissionIdsType extends AbstractMissionType{
|
||||
|
|
@ -27,7 +31,7 @@ public class ServenMissionIdsType extends AbstractMissionType{
|
|||
}
|
||||
|
||||
@Override
|
||||
public void calCumulationDataResult(User user, CumulationData.Result result, List<MissionStateChangeInfo> missionStateChangeInfos, CumulationData cumulationData) {
|
||||
public void calCumulationDataResult(User user, CumulationData.Result result, List<MissionStateChangeInfo> missionStateChangeInfos, CumulationData cumulationData) throws Exception {
|
||||
|
||||
List<STreasureTaskConfig> sTaskConfigs = STableManager.getFigureConfig(TaskStaticConfig.class).getsTreasureTaskConfigListByTypeMap().get(result.subType.getMissionTypeValue());
|
||||
if (sTaskConfigs == null) {
|
||||
|
|
@ -36,13 +40,17 @@ public class ServenMissionIdsType extends AbstractMissionType{
|
|||
checkAndUpdateMision(user,sTaskConfigs,missionStateChangeInfos,cumulationData);
|
||||
}
|
||||
|
||||
public void checkAndUpdateMision(User user,List<STreasureTaskConfig> sTaskConfigs, List<MissionStateChangeInfo> missionStateChangeInfos, CumulationData cumulationData){
|
||||
public void checkAndUpdateMision(User user,List<STreasureTaskConfig> sTaskConfigs, List<MissionStateChangeInfo> missionStateChangeInfos, CumulationData cumulationData) throws Exception {
|
||||
Set<Integer> doingMissionIds = getDoingMissionIds();
|
||||
for (STreasureTaskConfig sTaskConfig : sTaskConfigs) {
|
||||
int missionId = sTaskConfig.getId();
|
||||
if (!doingMissionIds.contains(missionId)) {
|
||||
continue;
|
||||
}
|
||||
if(sTaskConfig.getTaskType() == MissionType.SEVEN_GIFT_BUY.getMissionTypeValue()){
|
||||
processSpecailMissionType(user,sTaskConfig,cumulationData);
|
||||
continue;
|
||||
}
|
||||
int finishParm = sTaskConfig.getTaskValue()[1][0];
|
||||
int doingProgress = MissionLoigc.getDoingProgress(user, cumulationData, sTaskConfig.getTaskType(), sTaskConfig.getTaskValue()[0]);
|
||||
if((doingProgress!=0 && finishParm<0 && ( doingProgress)>=finishParm)){
|
||||
|
|
@ -70,6 +78,7 @@ public class ServenMissionIdsType extends AbstractMissionType{
|
|||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
MissionStateChangeInfo finishInfo = new MissionStateChangeInfo(missionId,
|
||||
MissionState.FINISH, finishParm);
|
||||
Iterator<MissionStateChangeInfo> iterator = missionStateChangeInfos.iterator();
|
||||
|
|
@ -84,4 +93,18 @@ public class ServenMissionIdsType extends AbstractMissionType{
|
|||
getFinishMissionIds().add(missionId);
|
||||
}
|
||||
}
|
||||
|
||||
public void processSpecailMissionType(User user,STreasureTaskConfig sTaskConfig, CumulationData cumulationData) throws Exception {
|
||||
int doingProgress = MissionLoigc.getDoingProgress(user, cumulationData, sTaskConfig.getTaskType(), sTaskConfig.getTaskValue()[0]);
|
||||
boolean isFinish = doingProgress >= sTaskConfig.getTaskValue()[1][0];
|
||||
int missionId = sTaskConfig.getId();
|
||||
if (isFinish) {
|
||||
Map<GameMisionType, List<MissionStateChangeInfo>> gameMisionTypeListMap = MissionEventDistributor.threadMissionChangeList.get();
|
||||
int score = STreasureTaskConfig.sTreasureTaskConfigMap.get(missionId).getPoints();
|
||||
user.getUserMissionManager().calCumulationDataResult(user,MissionType.SENVER_HAPPY,gameMisionTypeListMap,score);
|
||||
getDoingMissionIds().remove(missionId);
|
||||
getFinishMissionIds().add(missionId);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,7 +20,9 @@ import com.ljsd.jieling.logic.dao.VipInfo;
|
|||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.fight.CombatLogic;
|
||||
import com.ljsd.jieling.logic.mail.MailLogic;
|
||||
import com.ljsd.jieling.logic.mission.GameEvent;
|
||||
import com.ljsd.jieling.logic.player.PlayerLogic;
|
||||
import com.ljsd.jieling.network.server.ProtocolsManager;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import com.ljsd.jieling.protocols.CommonProto;
|
||||
import com.ljsd.jieling.protocols.MessageTypeProto;
|
||||
|
|
@ -223,6 +225,10 @@ public class BuyGoodsLogic {
|
|||
ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.RECHARGE_SUM_DAY, user.getPlayerInfoManager().getRechargedaily());
|
||||
ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.FIND_FAIRY_FESTIVAL, price);
|
||||
|
||||
AyyncWorker ayyncWorker = new AyyncWorker(user, true, new AynMissionWorker(GameEvent.RECHARGE_TOTAL,price)) ;
|
||||
ProtocolsManager.getInstance().updateAyncWorker(ayyncWorker);
|
||||
|
||||
|
||||
ISession session = OnlineUserManager.getSessionByUid(uid);
|
||||
|
||||
//vip 等级更新和推送
|
||||
|
|
|
|||
|
|
@ -436,6 +436,9 @@ public class StoreLogic implements IEventHandler {
|
|||
if(!storeGiftType.contains(SStoreTypeConfig.getsStoreTypeConfigMap().get(storeId).getStoreType() )){
|
||||
user.getUserMissionManager().onGameEvent(user, GameEvent.BUY_MATERIAL,sStoreConfig.getGoods()[0][0],itemNum,SStoreTypeConfig.getsStoreTypeConfigMap().get(storeId).getStoreType());
|
||||
}
|
||||
if(SStoreTypeConfig.getsStoreTypeConfigMap().get(storeId).getStoreType() == 10){
|
||||
user.getUserMissionManager().onGameEvent(user, GameEvent.BUY_SEVEN_GIFT,storeId,itemNum);
|
||||
}
|
||||
if(itemId==10005){
|
||||
Poster.getPoster().dispatchEvent(new GoldEvent(user.getId(),itemNum));
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue