大闹天宫,圣物刷新,去除已刷出得圣物
parent
220954d949
commit
25aa13bfd5
|
@ -1241,6 +1241,12 @@ public class ExpeditionLogic {
|
|||
MessageUtil.sendMessage(session,1,messageType.getNumber(),response.build(),true);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取不重复得圣物
|
||||
* @param user
|
||||
* @param type
|
||||
* @return
|
||||
*/
|
||||
public Map<Integer, Integer> getType2holy2weightRemoveHas(User user, int type) {
|
||||
// 策划表的圣物,因为会有删除操作,所以需要重新赋值,而不是直接引用
|
||||
Map<Integer, Integer> weight = STableManager.getFigureConfig(CommonStaticConfig.class).getType2holy2weight(type);
|
||||
|
@ -1261,6 +1267,9 @@ public class ExpeditionLogic {
|
|||
Set<Integer> expeditonHeroIds = new HashSet<>();
|
||||
expeditonHeroMap.values().forEach(v->expeditonHeroIds.add(v.getTemplateId()));
|
||||
|
||||
// 已生成得节点圣物信息
|
||||
Set<Integer> nodeHolyInfo = getNodeHolyInfo(user);
|
||||
|
||||
// 因为有删除操作,所以使用iterator遍历
|
||||
Iterator<Integer> iterator = valueMap.keySet().iterator();
|
||||
while (iterator.hasNext()){
|
||||
|
@ -1277,8 +1286,31 @@ public class ExpeditionLogic {
|
|||
iterator.remove();
|
||||
}
|
||||
}
|
||||
// 已经生成过得圣物
|
||||
if(nodeHolyInfo.contains(v)){
|
||||
iterator.remove();
|
||||
}
|
||||
}
|
||||
|
||||
return valueMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取全部节点得圣物信息
|
||||
* @param user
|
||||
* @return
|
||||
*/
|
||||
private Set<Integer> getNodeHolyInfo(User user){
|
||||
Set<Integer> set = new HashSet<>();
|
||||
// 以生成得节点信息,非空验证
|
||||
Collection<ExpeditionNodeInfo> values = user.getExpeditionManager().getExpeditionNodeInfos().values();
|
||||
if (values.size() <= 0){
|
||||
return set;
|
||||
}
|
||||
// 聚合操作,首先排除不存在圣物得节点,然后循环添加剩余节点圣物
|
||||
values.stream()
|
||||
.filter(val->val.getHolyEquipId() != null && val.getHolyEquipId().size() > 0)
|
||||
.forEach(val->set.addAll(val.getHolyEquipId()));
|
||||
return set;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue