任务系统梳理和注释

back_recharge
zhangshanxue 2020-06-01 15:26:12 +08:00
parent 2e3a64205b
commit 26c1259480
3 changed files with 202 additions and 158 deletions

View File

@ -27,6 +27,23 @@ import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* TODO zsx
* Q
* 1
* 2
* 3 type
* 4 eventtaskType
* 使if else
*
* F
* 1 task
* 2
* 3
* 4 id id
*
*
* */
public class UserMissionManager extends MongoBase {
private VipMissionIdsType vipMissionIdsType=new VipMissionIdsType();
private DailyMissionIdsType dailyMissionIdsType=new DailyMissionIdsType();
@ -49,6 +66,7 @@ public class UserMissionManager extends MongoBase {
private CumulationData sevenHappyCumulationData = new CumulationData();
private CumulationData achievementMap = new CumulationData();
//触发任务上身
public void openMission(User user,GameEvent event,Map<GameMisionType, List<MissionStateChangeInfo>> missionTypeEnumListMap, Object... parm) throws Exception {
ISession session= OnlineUserManager.getSessionByUid(user.getId());
switch (event){

View File

@ -448,6 +448,12 @@ public class MissionLoigc {
}
}
/**
* TODO ifelse
*
* ifelse 1001
*/
public static int getDoingProgress(User user,CumulationData cumulationData, int missionTypeId, int[] missionSubType){
MissionType missionType = MissionType.findByMissionId(missionTypeId);
if(missionType == null){

View File

@ -1,5 +1,8 @@
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品质的妖灵师数量
@ -92,7 +95,11 @@ public enum MissionType {
FINISH_EXPEDITION_HERO_TIMES(84),//完成猎妖之路次数达到
SEVEN_GIFT_BUY(86),//购买7日狂欢福利礼包%s次七日狂欢积分
FINISIN_DAILY_CHALLENGE_TIMES(87),//完成%s类型0为不限类型的日常副本%s次
SIX_RANDOM_TIMES(88),//使用6灵阁召唤num次
EXPEDITION_FLOOR_TIMES(89),//猎妖之路通过第floor层的首领节点每层最多一个num次
DECOMPOSE_TIMES(100),//献祭武将num个
DEATH_PATH_TIMES(101),//击杀过关十绝阵num次
JEWL_ALL_LEVE(102),//全体上阵成员法宝等级达到level需求人数6人不满上阵不计完成度
;
private int missionType;
@ -105,163 +112,176 @@ public enum MissionType {
this.missionType = missionType;
}
public static MissionType findByMissionId(int missionTypeId){
switch (missionTypeId){
case 1:
return RECRUITMENT_RANDOM_HEROES;
case 2:
return COLLECT_QUALITY_HERO;
case 3:
return HERO_LEVLE_COUNT;
case 4:
return POKEMON_ADVANCED;
case 5:
return POKEMON_FORCE;
case 6:
return POKEMON_ALL_FORCE;
case 7:
return ARENA_CHALLENEGE_NUMS;
case 8:
return ARENA_SCORE;
case 9:
return USER_LEVEL;
case 10:
return USER_FORCE;
case 11:
return USER_CONSUMER_GEM;
case 12:
return USER_WORKSHOP_LEVEL;
case 13:
return USER_GET_EQUIP_QUALITY;
case 14:
return LEVEL_STORY_PASS;
case 15:
return GENERAL_STORY_PASS;
case 16:
return HERO_STORY_PASS;
case 17:
return KILL_INVASIONBOSS;
case 18:
return SECRETBOX_TIMES;
case 19:
return EQUIP_FORCE_NUMS;
case 20:
return BUY_GOLD_TIMES;
case 21:
return BUY_STAMINA_TIMES;
case 22:
return WORKSHOP_CREATE_EQUIP_NUMS;
case 23:
return GENERAL_STORY_TIMES;
case 24:
return HERO_STORY_TIMES;
case 25:
return LEVEL_STORY_TIMES;
case 26:
return HERO_LEVLE_TIMES;
case 27:
return TAKE_ADVENTUREREWARD_TIMES;
case 28:
return ARENA_FIGHTSUCCES_TIMES;
case 29:
return FINSIH_DAYILY_TIMES;
case 30:
return RING_FIREA_DVANCED;
case 31:
return COPY_STORY_LEVLE;
case 32:
return COPY_STORY_TIMES;
case 33:
return ELEMENT_RANDOM_TIMES;
case 34:
return HERO_STORY_PLAY_TIMES;
case 35:
return INVASIONBOSS_PLAY_TIMES;
case 36:
return FAST_ADVENTUREREWARD_TIMES;
case 37:
return ARENA_RANK;
case 38:
return SENVER_HAPPY;
case 39:
return HERO_BREAK_TIMES;
case 40:
return TAKE_CHAPTER_REWARD_TIMES;
case 41:
return HERO_UP_STAR_TIMES;
case 42:
return VIP_LEVEL;
case 43:
return TAKE_ONLINE_REWARD_TIMES;
case 44:
return TAKE_SENVEN_LOGIN_REWARD_TIMES;
case 45:
return TAKE_DAILY_BOX_TIMES;
case 46:
return HERO_WEAR_EQUIP_TIMES;
case 47:
return SYNTHESIS_HERO_STAR_TIMES;
case 48:
return USER_CONSUMER_STAMINA;
case 49:
return COLLECT_DIFFERENT_HEROS;
case 50:
return ONE_HERO_UP_STAR_TIMES;
case 51:
return HERO_IN_TEAM_NUMS;
case 52:
return BUY_GROCERY_TIMES;
case 53:
return FRIEND_NUMS;
case 54:
return GIVE_FRIEND_STAMIN_TIMES;
case 55:
return HERO_UP_SOME_STAR_TIMES;
case 56:
return JOIN_MONSTER_ATTACK_TIMES;//参与兽潮来袭的次数
case 57:
return MONSTER_ATTACK_LEVEL;//兽潮来袭到达x层
case 58:
return TO_BE_STRONGER;
case 59:
return BLOODY_KILL_NUMS;
case 60:
return ENDLESS_CONSUME_ACTION;
case 61:
return FAMILY_FIGHT_ATTACK;
case 62:
return ESPECIAL_EQUIP;
case 65:
return FIND_STAR;
case 66:
return TAKE_FRIEND_GIFT;
case 69:
return JOIN_FAMILY;
case 71:
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;
case 87:
return FINISIN_DAILY_CHALLENGE_TIMES;
default:
return null;
}
static Map<Integer,MissionType> map = new HashMap<>();
static {
for (MissionType type:MissionType.values()) {
map.put(type.getMissionTypeValue(),type);
}
}
public static MissionType findByMissionId(int missionTypeId){
return map.get(missionTypeId);
}
//fix 扩展麻烦
// public static MissionType findByMissionId(int missionTypeId){
// switch (missionTypeId){
// case 1:
// return RECRUITMENT_RANDOM_HEROES;
// case 2:
// return COLLECT_QUALITY_HERO;
// case 3:
// return HERO_LEVLE_COUNT;
// case 4:
// return POKEMON_ADVANCED;
// case 5:
// return POKEMON_FORCE;
// case 6:
// return POKEMON_ALL_FORCE;
// case 7:
// return ARENA_CHALLENEGE_NUMS;
// case 8:
// return ARENA_SCORE;
// case 9:
// return USER_LEVEL;
// case 10:
// return USER_FORCE;
// case 11:
// return USER_CONSUMER_GEM;
// case 12:
// return USER_WORKSHOP_LEVEL;
// case 13:
// return USER_GET_EQUIP_QUALITY;
// case 14:
// return LEVEL_STORY_PASS;
// case 15:
// return GENERAL_STORY_PASS;
// case 16:
// return HERO_STORY_PASS;
// case 17:
// return KILL_INVASIONBOSS;
// case 18:
// return SECRETBOX_TIMES;
// case 19:
// return EQUIP_FORCE_NUMS;
// case 20:
// return BUY_GOLD_TIMES;
// case 21:
// return BUY_STAMINA_TIMES;
// case 22:
// return WORKSHOP_CREATE_EQUIP_NUMS;
// case 23:
// return GENERAL_STORY_TIMES;
// case 24:
// return HERO_STORY_TIMES;
// case 25:
// return LEVEL_STORY_TIMES;
// case 26:
// return HERO_LEVLE_TIMES;
// case 27:
// return TAKE_ADVENTUREREWARD_TIMES;
// case 28:
// return ARENA_FIGHTSUCCES_TIMES;
// case 29:
// return FINSIH_DAYILY_TIMES;
// case 30:
// return RING_FIREA_DVANCED;
// case 31:
// return COPY_STORY_LEVLE;
// case 32:
// return COPY_STORY_TIMES;
// case 33:
// return ELEMENT_RANDOM_TIMES;
// case 34:
// return HERO_STORY_PLAY_TIMES;
// case 35:
// return INVASIONBOSS_PLAY_TIMES;
// case 36:
// return FAST_ADVENTUREREWARD_TIMES;
// case 37:
// return ARENA_RANK;
// case 38:
// return SENVER_HAPPY;
// case 39:
// return HERO_BREAK_TIMES;
// case 40:
// return TAKE_CHAPTER_REWARD_TIMES;
// case 41:
// return HERO_UP_STAR_TIMES;
// case 42:
// return VIP_LEVEL;
// case 43:
// return TAKE_ONLINE_REWARD_TIMES;
// case 44:
// return TAKE_SENVEN_LOGIN_REWARD_TIMES;
// case 45:
// return TAKE_DAILY_BOX_TIMES;
// case 46:
// return HERO_WEAR_EQUIP_TIMES;
// case 47:
// return SYNTHESIS_HERO_STAR_TIMES;
// case 48:
// return USER_CONSUMER_STAMINA;
// case 49:
// return COLLECT_DIFFERENT_HEROS;
// case 50:
// return ONE_HERO_UP_STAR_TIMES;
// case 51:
// return HERO_IN_TEAM_NUMS;
// case 52:
// return BUY_GROCERY_TIMES;
// case 53:
// return FRIEND_NUMS;
// case 54:
// return GIVE_FRIEND_STAMIN_TIMES;
// case 55:
// return HERO_UP_SOME_STAR_TIMES;
// case 56:
// return JOIN_MONSTER_ATTACK_TIMES;//参与兽潮来袭的次数
// case 57:
// return MONSTER_ATTACK_LEVEL;//兽潮来袭到达x层
// case 58:
// return TO_BE_STRONGER;
// case 59:
// return BLOODY_KILL_NUMS;
// case 60:
// return ENDLESS_CONSUME_ACTION;
// case 61:
// return FAMILY_FIGHT_ATTACK;
// case 62:
// return ESPECIAL_EQUIP;
// case 65:
// return FIND_STAR;
// case 66:
// return TAKE_FRIEND_GIFT;
// case 69:
// return JOIN_FAMILY;
// case 71:
// 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;
// case 87:
// return FINISIN_DAILY_CHALLENGE_TIMES;
// default:
// return null;
// }
//
// }
}