Merge branch 'master_dev' into master_otnew

master_otnew
grimm 2023-12-28 14:05:06 +08:00
commit d82304278d
3 changed files with 35 additions and 23 deletions

View File

@ -1,15 +1,26 @@
package com.ljsd.jieling.logic.mission.data;
import com.ljsd.jieling.logic.dao.Baubles;
import com.ljsd.jieling.logic.dao.CumulationData;
import com.ljsd.jieling.logic.dao.EquipManager;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.mission.MissionType;
import java.util.Map;
import java.util.HashMap;
import java.util.List;
public class EspecialStarManager extends AbstractDataManager {
@Override
public boolean isFinish(User user, CumulationData data, int[][] cfgValue, Object... parm) {
EquipManager equipManager = user.getEquipManager();
List<Baubles> baublesList = equipManager.getBaublesList();
HashMap<Integer, Integer> map = new HashMap<>();
for (Baubles baubles : baublesList) {
int star = baubles.getLevel() / 10;
map.merge(star,1,Integer::sum);
}
data.setEspecialEquipStar(map);
return data.getEspecialEquipStar(cfgValue[0][0]) >= cfgValue[1][0];
}
@ -20,14 +31,6 @@ public class EspecialStarManager extends AbstractDataManager {
@Override
public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) {
int equipStar = ((int) parm[0])/10;
Map<Integer, Integer> especialEquipStar = data.getEspecialEquipStar();
if(especialEquipStar.containsKey(equipStar)){
especialEquipStar.merge(equipStar,1,Integer::sum);
}else{
especialEquipStar.put(equipStar,1);
}
return new CumulationData.Result(missionType);
}
}

View File

@ -26,14 +26,14 @@ public class UpAllBaublesLvDataManager extends AbstractDataManager{
@Override
public boolean isFinish(User user,CumulationData data, int[][] cfgValue, Object... parm) {
if(data.getBaubles_all_level() ==cfgValue[1][0]){
if(data.getBaubles_all_level() == cfgValue[1][0]){
return true;
}
Map<Integer, List<TeamPosHeroInfo>> teamPosForHero = user.getTeamPosManager().getTeamPosForHero();
HeroManager heroManager = user.getHeroManager();
EquipManager equipManager = user.getEquipManager();
for (Map.Entry<Integer, List<TeamPosHeroInfo>> entry:teamPosForHero.entrySet()){
List<TeamPosHeroInfo> teamPosHeroInfos =entry.getValue();
List<TeamPosHeroInfo> teamPosHeroInfos = entry.getValue();
if(teamPosHeroInfos.size()!=6){
continue;
}

View File

@ -230,23 +230,33 @@ public class CBean2Proto {
return lists;
}
/**
* 编译助战状态
* @param propertyItems 装备列表
* @return proto对象
*/
private static List<CommonProto.Equip> buildHelpFightEquip(List<PropertyItem> propertyItems){
List<CommonProto.Equip> resultEquip = new ArrayList<>();
if (propertyItems != null && !propertyItems.isEmpty()){
for (PropertyItem item : propertyItems) {
if (item == null){
continue;
}
resultEquip.add(getPropertyEquipProto(item));
}
}
return resultEquip;
}
/**
* 助战,redis类型转proto
*/
public static CommonProto.HelpFightList helpHeroProto(HelpHero helpHero) throws Exception {
User otherUser = UserManager.getUser(helpHero.getUid());
// 魂宝灵宝
List<CommonProto.Equip> jewels = new ArrayList<>();
List<PropertyItem> jewel = helpHero.getJewels();
if (jewel != null && !jewel.isEmpty()){
jewel.forEach(item->jewels.add(getPropertyEquipProto(item)));
}
List<CommonProto.Equip> jewels = buildHelpFightEquip(helpHero.getJewels());
// 法相
List<CommonProto.Equip> faxiang = new ArrayList<>();
List<PropertyItem> faxiangs = helpHero.getFaxiangs();
if (faxiangs != null && !faxiangs.isEmpty()){
faxiangs.forEach(item->faxiang.add(getPropertyEquipProto(item)));
}
List<CommonProto.Equip> faxiang = buildHelpFightEquip(helpHero.getFaxiangs());
// 装备详细信息
List<CommonProto.Equip> equips = new ArrayList<>();
Map<Integer, Integer> equip = helpHero.getHero().getEquipByPositionMap();
@ -284,7 +294,7 @@ public class CBean2Proto {
* 助战,hero对象转redis类型
* 存入redis时调用
*/
public static HelpHero heroToHelpHero(User user,Hero hero) throws Exception {
public static HelpHero heroToHelpHero(User user,Hero hero) {
// 获取神将类型
HelpTypeEnum type = HelpTypeEnum.getType(hero.getPropertyId());
// 英雄镜像
@ -294,7 +304,6 @@ public class CBean2Proto {
List<PropertyItem> jewels = clonePropertyItemList(equipManager, heroVo.getJewelInfo());
// 法相
List<PropertyItem> faxiangs = clonePropertyItemList(equipManager, heroVo.getFaxiangList());
// 结果返回,援助类型不在这里写
HelpHero helpHero = new HelpHero();
helpHero.setUid(user.getId());