|
|
@@ -0,0 +1,422 @@
|
|
|
+package com.td.WaDa.game.comcharactersdiscovery.service;
|
|
|
+
|
|
|
+import cn.hutool.core.date.DateUnit;
|
|
|
+import cn.hutool.core.date.DateUtil;
|
|
|
+import cn.hutool.core.util.NumberUtil;
|
|
|
+import com.td.WaDa.common.pojo.PageInfo;
|
|
|
+import com.td.WaDa.common.service.*;
|
|
|
+import com.td.WaDa.config.enums.GameEnum;
|
|
|
+import com.td.WaDa.config.enums.ResultEnum;
|
|
|
+import com.td.WaDa.game.comcharacters.pojo.ComCharacters;
|
|
|
+import com.td.WaDa.game.comcharacters.service.ComCharactersService;
|
|
|
+import com.td.WaDa.game.comcharacters.vo.ComCharactersClientVo;
|
|
|
+import com.td.WaDa.game.comcharacters.vo.ComCharactersVo;
|
|
|
+import com.td.WaDa.game.comcharactersdiscovery.pojo.ComCharactersDiscovery;
|
|
|
+import com.td.WaDa.game.comcharactersdiscovery.vo.ComCharactersDiscoveryClientVo;
|
|
|
+import com.td.WaDa.game.comcharactersdiscovery.vo.ComCharactersDiscoveryVo;
|
|
|
+import com.td.WaDa.game.comcharactersdiscovery.repository.ComCharactersDiscoveryRepository;
|
|
|
+import com.td.WaDa.game.exceldrop.pojo.ExcelDrop;
|
|
|
+import com.td.WaDa.game.exceldrop.service.ExcelDropService;
|
|
|
+import com.td.WaDa.game.exceldrop.vo.ExcelDropClientVo;
|
|
|
+import com.td.WaDa.game.exceldrop.vo.ExcelDropSimpleVo;
|
|
|
+import com.td.WaDa.game.exceldrop.vo.ExcelDropVo;
|
|
|
+import com.td.WaDa.game.excelscene.pojo.ExcelScene;
|
|
|
+import com.td.WaDa.game.excelscene.service.ExcelSceneService;
|
|
|
+import com.td.WaDa.game.excelscene.vo.ExcelSceneVo;
|
|
|
+import com.td.WaDa.util.CopyUtil;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
+
|
|
|
+import javax.persistence.EntityManager;
|
|
|
+import javax.persistence.PersistenceContext;
|
|
|
+import java.io.IOException;
|
|
|
+import java.util.*;
|
|
|
+
|
|
|
+@Service
|
|
|
+@Transactional
|
|
|
+@Slf4j
|
|
|
+public class ComCharactersDiscoveryServiceImpl extends CommonServiceImpl<ComCharactersDiscoveryVo, ComCharactersDiscovery, Integer> implements ComCharactersDiscoveryService {
|
|
|
+
|
|
|
+ @PersistenceContext
|
|
|
+ private EntityManager em;
|
|
|
+ @Autowired
|
|
|
+ private ComCharactersDiscoveryRepository comCharactersDiscoveryRepository;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private ComCharactersService comCharactersService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private ExcelDropService excelDropService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private ExcelSceneService excelSceneService;
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ComCharactersDiscoveryVo addDiscoverRole(ComCharactersVo charactersVo, Integer sceneId) {
|
|
|
+
|
|
|
+ ComCharactersDiscovery comCharacterDiscovery =
|
|
|
+ comCharactersDiscoveryRepository.findByUserIdAndSceneId(charactersVo.getUserId(), sceneId).orElse(null);
|
|
|
+ if (comCharacterDiscovery == null) {
|
|
|
+ comCharacterDiscovery = new ComCharactersDiscovery();
|
|
|
+ //新建一个队伍
|
|
|
+ comCharacterDiscovery.setUserId(charactersVo.getUserId());
|
|
|
+ comCharacterDiscovery.setRoleId(charactersVo.getId().toString());
|
|
|
+ comCharacterDiscovery.setName("1");
|
|
|
+ comCharacterDiscovery.setIsWork(0);
|
|
|
+ comCharacterDiscovery.setWorkStart(DateUtil.date());
|
|
|
+ comCharacterDiscovery.setWorkDay(1);//工作时间,天
|
|
|
+ comCharacterDiscovery.setWorkFlag("1");
|
|
|
+ comCharacterDiscovery.setDiscoverLevel(1); //默认探索第一层场景
|
|
|
+ comCharacterDiscovery.setSceneId(sceneId); // 比如矿洞id对应的入口是201
|
|
|
+ comCharacterDiscovery.setNote("工作队伍");
|
|
|
+ comCharacterDiscovery.setCreateTime(DateUtil.date());
|
|
|
+ comCharacterDiscovery.setUpdateTime(DateUtil.date());
|
|
|
+ } else {
|
|
|
+ String[] roleId = comCharacterDiscovery.getRoleId().split("\\|");
|
|
|
+ for (int i = 0; i < roleId.length; i++) {
|
|
|
+ if (roleId[i].equals(charactersVo.getId().toString())) {
|
|
|
+ //不能添加相同的角色,直接返回一个查询的
|
|
|
+ return CopyUtil.copy(comCharacterDiscovery, ComCharactersDiscoveryVo.class);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //再旧的基础上添加一个角色
|
|
|
+ String _roleId = comCharacterDiscovery.getRoleId() + "|" + charactersVo.getId().toString();
|
|
|
+ comCharacterDiscovery.setRoleId(_roleId);
|
|
|
+ comCharacterDiscovery.setUpdateTime(DateUtil.date());
|
|
|
+
|
|
|
+ }
|
|
|
+ ComCharactersDiscoveryVo comCharacterDiscoveryVo = CopyUtil.copy(comCharacterDiscovery, ComCharactersDiscoveryVo.class);
|
|
|
+ return super.save(comCharacterDiscoveryVo).getData();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public PageInfo<ComCharactersDiscoveryClientVo> findDiscoverClientVo(ComCharactersDiscoveryVo characterDiscoveryVo) {
|
|
|
+ PageInfo<ComCharactersDiscoveryVo> comCharactersDiscoveryVo = super.page(characterDiscoveryVo).getData();
|
|
|
+ //获取到探索队伍的数据
|
|
|
+ List<ComCharactersDiscoveryVo> _listVo = comCharactersDiscoveryVo.getRows();
|
|
|
+ List<ComCharactersDiscoveryClientVo> _discoveryClientVos = new ArrayList<>();
|
|
|
+ for (ComCharactersDiscoveryVo discoveryVo : _listVo) {
|
|
|
+ String[] roleId = discoveryVo.getRoleId().split("\\|");
|
|
|
+ //角色list
|
|
|
+ List<ComCharactersClientVo> comCharactersClientVos = new ArrayList<>();
|
|
|
+ for (int i = 0; i < roleId.length; i++) {
|
|
|
+ ComCharactersVo comCharactersVo = comCharactersService.getVo(Integer.parseInt(roleId[i]));
|
|
|
+ ComCharactersClientVo comCharactersClientVo = CopyUtil.copy(comCharactersVo, ComCharactersClientVo.class);
|
|
|
+ //List<ExcelCharacterCreate> subExcelCharacterList = listMap.get(excelCharacterAttr.getRoleType());
|
|
|
+ //character.setSubCreateClientList(CopyUtil.copyList(subExcelCharacterList,ExcelCharacterCreateClientVo.class));
|
|
|
+ comCharactersClientVos.add(comCharactersClientVo);
|
|
|
+ }
|
|
|
+ ComCharactersDiscoveryClientVo comCharacterDiscoveryClientVo = CopyUtil.copy(discoveryVo, ComCharactersDiscoveryClientVo.class);
|
|
|
+ //开始工作时间 + 工作天数
|
|
|
+ Date endDate = DateUtil.offsetDay(comCharacterDiscoveryClientVo.getWorkStart(), comCharacterDiscoveryClientVo.getWorkDay());
|
|
|
+ //当前时间与结束时间的毫秒
|
|
|
+ Long dif = DateUtil.between(DateUtil.date(), endDate, DateUnit.MS);
|
|
|
+ //小于等于零即完成
|
|
|
+ comCharacterDiscoveryClientVo.setWorkMill(dif);
|
|
|
+ comCharacterDiscoveryClientVo.setSubCharacters(comCharactersClientVos);
|
|
|
+ _discoveryClientVos.add(comCharacterDiscoveryClientVo);
|
|
|
+ }
|
|
|
+
|
|
|
+ PageInfo<ComCharactersDiscoveryClientVo> backPageInfo = new PageInfo<>();
|
|
|
+ backPageInfo.setRows(_discoveryClientVos);
|
|
|
+ backPageInfo.setPage(comCharactersDiscoveryVo.getPage());
|
|
|
+ backPageInfo.setPageSize(comCharactersDiscoveryVo.getPageSize());
|
|
|
+ backPageInfo.setTotal(comCharactersDiscoveryVo.getTotal());
|
|
|
+ backPageInfo.setRecords(comCharactersDiscoveryVo.getRecords());
|
|
|
+ backPageInfo.setSidx(comCharactersDiscoveryVo.getSidx());
|
|
|
+ backPageInfo.setSord(comCharactersDiscoveryVo.getSord());
|
|
|
+ return backPageInfo;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ComCharactersDiscoveryClientVo explorationState(ComCharactersDiscoveryVo discoveryVo) {
|
|
|
+ //记录当前的产出奖励
|
|
|
+ List<ExcelDropClientVo> outExcelDrops = new ArrayList<>();
|
|
|
+ //工作开始后到现在的 当前的秒数
|
|
|
+ Long difSecond = DateUtil.between(discoveryVo.getWorkStart(), DateUtil.date(), DateUnit.SECOND);
|
|
|
+ Integer outTransUpperLimit = 0;
|
|
|
+
|
|
|
+
|
|
|
+ //todo 根据场景id获取当前场景配置 后面处理缓存,提高速度
|
|
|
+ //主场景id
|
|
|
+ ExcelScene excelScene = excelSceneService.findBySceneId(discoveryVo.getSceneId());
|
|
|
+ //当前场景层级对应的物品
|
|
|
+ Integer[] _dropIds = (Integer[]) Arrays.stream(excelScene.getSceneEvent().split("\\|")).map(Integer::parseInt).toArray();
|
|
|
+ List<ExcelDrop> excelDrops = excelDropService.getListByIds(_dropIds);
|
|
|
+ List<ExcelDropClientVo> dropClientVos = CopyUtil.copyList(excelDrops, ExcelDropClientVo.class);
|
|
|
+
|
|
|
+ //当前探索队伍
|
|
|
+ String[] roleId = discoveryVo.getRoleId().split("\\|");
|
|
|
+ Integer[] _roleIds = (Integer[]) Arrays.stream(roleId).map(Integer::parseInt).toArray();
|
|
|
+
|
|
|
+ //角色list
|
|
|
+ List<ComCharactersClientVo> comCharactersClientVos = new ArrayList<>();
|
|
|
+
|
|
|
+
|
|
|
+ //先找出三个职业对象
|
|
|
+ ComCharactersVo powerChar = null, intelliChar = null, skillChar = null;
|
|
|
+ List<ComCharacters> characters = comCharactersService.findByRoleIdIn(_roleIds);
|
|
|
+ for (int i = 0; i < characters.size(); i++) {
|
|
|
+ ComCharactersVo comCharactersVo = CopyUtil.copy(characters,ComCharactersVo.class); //comCharactersService.getVo(Integer.parseInt(roleId[i]));
|
|
|
+ //根据当前角色的职业计算
|
|
|
+ Integer _professional = Integer.parseInt(comCharactersVo.getProfessional());
|
|
|
+ if (_professional.equals(GameEnum.PRO_POWER.getValue())) {
|
|
|
+ skillChar = comCharactersVo;
|
|
|
+ //计算当前运输格数,即获取到物品的上限
|
|
|
+ //场景的最低运输数量
|
|
|
+ Integer _selfLimit = getLimitSkills(comCharactersVo.getSkills());
|
|
|
+ Integer _sceneLimit = excelScene.getAmount();
|
|
|
+ outTransUpperLimit = _selfLimit > _sceneLimit ? _selfLimit : _sceneLimit;
|
|
|
+ } else if (_professional.equals(GameEnum.PRO_POWER.getValue())) {
|
|
|
+ powerChar = comCharactersVo;
|
|
|
+ } else if (_professional.equals(GameEnum.PRO_INTELLIGENCE.getValue())) {
|
|
|
+ intelliChar = comCharactersVo;
|
|
|
+ }
|
|
|
+ ComCharactersClientVo comCharactersClientVo = CopyUtil.copy(comCharactersVo, ComCharactersClientVo.class);
|
|
|
+ comCharactersClientVos.add(comCharactersClientVo);
|
|
|
+ }
|
|
|
+ if (powerChar != null) {
|
|
|
+ // 每3秒执行一次挖矿动作。根据属性数值概率,获得收益
|
|
|
+ // 矿工有休息动作,休息时间3秒
|
|
|
+ // 勘探:
|
|
|
+ Integer _power = powerChar.getPower();
|
|
|
+ int _count = (int) Math.floor(difSecond / 3); // 一共执行的工作次数和休息
|
|
|
+ log.info("执行的工作次数:" + _count);
|
|
|
+ //按次数执行奖励
|
|
|
+ for (int j = 0; j < _count; j++) {
|
|
|
+ //采集x4+休息x1
|
|
|
+ if (_count % 5 != 0) {
|
|
|
+ //工作,并且奖励物品
|
|
|
+ if (NumberUtil.compare(new Random().nextDouble(), getRatioByPower(_power)) > 0) {
|
|
|
+ //判断是否达到获取物品上限,todo 目前暂时最多对应30
|
|
|
+ if (j < 30) {
|
|
|
+ //ExcelDrop excelDrop = excelDropService.randomGetDropBySceneId(141);
|
|
|
+ int index = (int) (Math.random() * dropClientVos.size());
|
|
|
+ ExcelDropClientVo _clientVo = dropClientVos.get(index);
|
|
|
+ outExcelDrops.add(_clientVo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (intelliChar != null) {
|
|
|
+ //勘测地形,用于进入下层场景的职业
|
|
|
+ //每15秒执行一次勘探。根据属性数值概率,前往下层洞穴
|
|
|
+ //洞穴影响矿石类型产出,最后一层不用再计算概率
|
|
|
+ if (!discoveryVo.getDiscoverLevel().equals(GameEnum.MINE_04.getValue())) {
|
|
|
+ Integer _intelligence = intelliChar.getIntelligence();
|
|
|
+ int _count = (int) Math.floor(difSecond / 15); // 一共执行勘探的次数
|
|
|
+ //按次数执行奖励
|
|
|
+ for (int j = 0; j < _count; j++) {
|
|
|
+ //计算是否进入下一层,最底层就不再判断
|
|
|
+ double _nextRatio = gotoNextSceneRatio(discoveryVo.getDiscoverLevel(), _intelligence);
|
|
|
+ if (NumberUtil.compare(new Random().nextDouble(), _nextRatio) > 0) {
|
|
|
+ //todo 切换关卡的奖励物品
|
|
|
+ Integer _currentLevel = discoveryVo.getDiscoverLevel() + 1;
|
|
|
+ discoveryVo.setDiscoverLevel(_currentLevel);
|
|
|
+ super.save(discoveryVo); // 更新数据
|
|
|
+ //切换场景id
|
|
|
+ int _levelId = getSceneIdByLevel(_currentLevel);
|
|
|
+ if (_levelId != 0) {
|
|
|
+ //切换逻辑后,重新设置奖励列表
|
|
|
+ excelScene = excelSceneService.findBySceneId(_levelId);
|
|
|
+ _dropIds = (Integer[]) Arrays.stream(excelScene.getSceneEvent().split("\\|")).map(Integer::parseInt).toArray();
|
|
|
+ excelDrops = excelDropService.getListByIds(_dropIds);
|
|
|
+ dropClientVos = CopyUtil.copyList(excelDrops, ExcelDropClientVo.class);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //完结后三个分别增加经验
|
|
|
+ //收获经验 todo 处理人物升级等
|
|
|
+ Integer _exp = powerChar.getExp() + 500;
|
|
|
+ powerChar.setExp(_exp);
|
|
|
+ comCharactersService.save(powerChar);
|
|
|
+
|
|
|
+ Integer _exp3 = intelliChar.getExp() + 500;
|
|
|
+ intelliChar.setExp(_exp3);
|
|
|
+ comCharactersService.save(intelliChar);
|
|
|
+
|
|
|
+ Integer _exp2 = skillChar.getExp() + 500;
|
|
|
+ skillChar.setExp(_exp2);
|
|
|
+ comCharactersService.save(skillChar);
|
|
|
+
|
|
|
+
|
|
|
+ ComCharactersDiscoveryClientVo discoveryClientVo = CopyUtil.copy(discoveryVo, ComCharactersDiscoveryClientVo.class);
|
|
|
+
|
|
|
+ discoveryClientVo.setSubCharacters(comCharactersClientVos);//当前职业
|
|
|
+ //输出限制
|
|
|
+ discoveryClientVo.setSubDrops(outExcelDrops.subList(0, outTransUpperLimit));//当前产出物品
|
|
|
+ //当前奖励的物品
|
|
|
+ discoveryClientVo.setSubRewardDrops(dropClientVos);
|
|
|
+ return discoveryClientVo;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 计算收益
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ComCharactersDiscoveryClientVo explorationComplete(ComCharactersDiscoveryVo discoveryVo) {
|
|
|
+
|
|
|
+ ComCharactersDiscoveryClientVo discoveryClientVo = CopyUtil.copy(discoveryVo, ComCharactersDiscoveryClientVo.class);
|
|
|
+ String[] roleId = discoveryVo.getRoleId().split("\\|");
|
|
|
+ //角色list
|
|
|
+ List<ComCharactersClientVo> comCharactersClientVos = new ArrayList<>();
|
|
|
+ for (int i = 0; i < roleId.length; i++) {
|
|
|
+ ComCharactersVo comCharactersVo = comCharactersService.getVo(Integer.parseInt(roleId[i]));
|
|
|
+ //收获经验
|
|
|
+ Integer _exp = comCharactersVo.getExp() + 500;
|
|
|
+ comCharactersVo.setExp(_exp);
|
|
|
+ comCharactersService.save(comCharactersVo);
|
|
|
+
|
|
|
+ ComCharactersClientVo comCharactersClientVo = CopyUtil.copy(comCharactersVo, ComCharactersClientVo.class);
|
|
|
+ comCharactersClientVos.add(comCharactersClientVo);
|
|
|
+ }
|
|
|
+ discoveryClientVo.setSubCharacters(comCharactersClientVos);
|
|
|
+
|
|
|
+ //discoveryVo.
|
|
|
+ //1.计算挖矿(其他伐木待定)
|
|
|
+ // 完成一次流程
|
|
|
+
|
|
|
+ //2.勘探场景
|
|
|
+ //3、
|
|
|
+
|
|
|
+ return discoveryClientVo;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private double getRatioByPower(Integer value) {
|
|
|
+ double _ratio = 0d;
|
|
|
+ if (value >= GameEnum.ATTRIBUTE_01.getValue() && value < GameEnum.ATTRIBUTE_02.getValue()) {
|
|
|
+ //60~100
|
|
|
+ _ratio = 0.004;
|
|
|
+ } else if (value < GameEnum.ATTRIBUTE_03.getValue()) {
|
|
|
+ //100~140
|
|
|
+ _ratio = 0.006;
|
|
|
+ } else if (value < GameEnum.ATTRIBUTE_04.getValue()) {
|
|
|
+ //140~180
|
|
|
+ _ratio = 0.01;
|
|
|
+ } else if (value < GameEnum.ATTRIBUTE_05.getValue()) {
|
|
|
+ //180~220
|
|
|
+ _ratio = 0.015;
|
|
|
+ } else if (value < GameEnum.ATTRIBUTE_06.getValue()) {
|
|
|
+ //220~260
|
|
|
+ _ratio = 0.02;
|
|
|
+ } else {
|
|
|
+ //>=260
|
|
|
+ _ratio = 0.025;
|
|
|
+ }
|
|
|
+ return _ratio;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据当前场景的层级和属性值获取一个进入下个场景的概率
|
|
|
+ *
|
|
|
+ * @param sceneLevel
|
|
|
+ * @param value
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private double gotoNextSceneRatio(Integer sceneLevel, Integer value) {
|
|
|
+ double _ratio = 0d;
|
|
|
+ if (value >= GameEnum.ATTRIBUTE_01.getValue() && value < GameEnum.ATTRIBUTE_02.getValue()) {
|
|
|
+ //60~100
|
|
|
+ if (sceneLevel.equals(1)) {
|
|
|
+ _ratio = 0.04; // 1=>2
|
|
|
+ }
|
|
|
+ } else if (value < GameEnum.ATTRIBUTE_03.getValue()) {
|
|
|
+ //100~140
|
|
|
+ _ratio = 0.006;
|
|
|
+ if (sceneLevel.equals(1)) {
|
|
|
+ _ratio = 0.11; // 1=>2
|
|
|
+ } else if (sceneLevel.equals(2)) {
|
|
|
+ _ratio = 0.1; // 2=>3
|
|
|
+ }
|
|
|
+ } else if (value < GameEnum.ATTRIBUTE_04.getValue()) {
|
|
|
+ //140~180
|
|
|
+ if (sceneLevel.equals(1)) {
|
|
|
+ _ratio = 0.23; // 1=>2
|
|
|
+ } else if (sceneLevel.equals(2)) {
|
|
|
+ _ratio = 0.03; // 2=>3
|
|
|
+ } else if (sceneLevel.equals(3)) {
|
|
|
+ _ratio = 0.01; // 3=>4
|
|
|
+ }
|
|
|
+ } else if (value < GameEnum.ATTRIBUTE_05.getValue()) {
|
|
|
+ //180~220
|
|
|
+ if (sceneLevel.equals(1)) {
|
|
|
+ _ratio = 0.34; // 1=>2
|
|
|
+ } else if (sceneLevel.equals(2)) {
|
|
|
+ _ratio = 0.07; // 2=>3
|
|
|
+ } else if (sceneLevel.equals(3)) {
|
|
|
+ _ratio = 0.03; // 3=>4
|
|
|
+ }
|
|
|
+ } else if (value < GameEnum.ATTRIBUTE_06.getValue()) {
|
|
|
+ //220~260
|
|
|
+ if (sceneLevel.equals(1)) {
|
|
|
+ _ratio = 0.51; // 1=>2
|
|
|
+ } else if (sceneLevel.equals(2)) {
|
|
|
+ _ratio = 0.11; // 2=>3
|
|
|
+ } else if (sceneLevel.equals(3)) {
|
|
|
+ _ratio = 0.07; // 3=>4
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //>=260
|
|
|
+ if (sceneLevel.equals(1)) {
|
|
|
+ _ratio = 0.97; // 1=>2
|
|
|
+ } else if (sceneLevel.equals(2)) {
|
|
|
+ _ratio = 0.19; // 2=>3
|
|
|
+ } else if (sceneLevel.equals(3)) {
|
|
|
+ _ratio = 0.13; // 3=>4
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return _ratio;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private int getLimitSkills(Integer value) {
|
|
|
+ int _limit = 0;
|
|
|
+ if (value >= GameEnum.ATTRIBUTE_01.getValue() && value < GameEnum.ATTRIBUTE_02.getValue()) {
|
|
|
+ //60~100
|
|
|
+ _limit = 5;
|
|
|
+ } else if (value < GameEnum.ATTRIBUTE_03.getValue()) {
|
|
|
+ //100~140
|
|
|
+ _limit = 10;
|
|
|
+ } else if (value < GameEnum.ATTRIBUTE_04.getValue()) {
|
|
|
+ //140~180
|
|
|
+ _limit = 15;
|
|
|
+ } else if (value < GameEnum.ATTRIBUTE_05.getValue()) {
|
|
|
+ //180~220
|
|
|
+ _limit = 20;
|
|
|
+ } else if (value < GameEnum.ATTRIBUTE_06.getValue()) {
|
|
|
+ //220~260
|
|
|
+ _limit = 25;
|
|
|
+ } else {
|
|
|
+ //>=260
|
|
|
+ _limit = 30;
|
|
|
+ }
|
|
|
+ return _limit;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private int getSceneIdByLevel(Integer value) {
|
|
|
+ int _levelId = 0;
|
|
|
+ if (value.equals(1)) {
|
|
|
+ _levelId = GameEnum.MINE_00.getValue();
|
|
|
+ } else if (value.equals(2)) {
|
|
|
+ _levelId = GameEnum.MINE_01.getValue();
|
|
|
+ } else if (value.equals(3)) {
|
|
|
+ _levelId = GameEnum.MINE_02.getValue();
|
|
|
+ } else if (value.equals(4)) {
|
|
|
+ _levelId = GameEnum.MINE_03.getValue();
|
|
|
+ } else if (value.equals(5)) {
|
|
|
+ _levelId = GameEnum.MINE_04.getValue();
|
|
|
+ }
|
|
|
+ return _levelId;
|
|
|
+ }
|
|
|
+}
|