神将神魂绑定逻辑修改提交
parent
a389d200f5
commit
afa7a8932a
|
@ -37,14 +37,11 @@ public class HeroGodSoulBindRequestHandler extends BaseHandler<HeroInfoProto.Her
|
|||
throw new ErrorCodeException(ErrorCode.GOD_SOUL_BIND);
|
||||
}
|
||||
}
|
||||
upHero.setGodSoulBindMap(1,godSoulLv,bindHeroList);
|
||||
for (String _bindHeroId : bindHeroList) {
|
||||
Hero bindHero=heroManager.getHero(_bindHeroId);
|
||||
bindHero.setGodSoulBeBindMap(1,heroId,godSoulLv);
|
||||
}
|
||||
upHero.setGodSoulBindMap(1,godSoulLv,bindHeroList);
|
||||
for (String bindHeroId : bindHeroList) {
|
||||
heroManager.getHero(bindHeroId).setGodSoulBeBindMap(1,heroId,godSoulLv);
|
||||
}
|
||||
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.HERO_GOD_SOUL_BIND_RESPONSE_VALUE, null,true);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,12 +7,14 @@ import com.ljsd.jieling.logic.dao.root.User;
|
|||
import com.ljsd.jieling.logic.hero.HongMengAttributeEnum;
|
||||
import config.SLikeAbilityConfig;
|
||||
import config.SSpecialConfig;
|
||||
import org.omg.CORBA.PUBLIC_MEMBER;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
public class HeroManager extends MongoBase {
|
||||
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(HeroManager.class);
|
||||
/**
|
||||
* 玩家英雄列表
|
||||
*/
|
||||
|
@ -252,13 +254,33 @@ public class HeroManager extends MongoBase {
|
|||
if (heroMap.containsKey(heroId)){
|
||||
removeString(getMongoKey()+".heroMap." + heroId);
|
||||
Poster.getPoster().dispatchEvent(new RemoveHeroEvent(uid,heroId));
|
||||
removeHeroGodSoul(heroId);
|
||||
heroMap.remove(heroId);
|
||||
try {
|
||||
if(UserManager.getUser(uid).getPlayerInfoManager().getMaxforceHero().equals(heroId)){
|
||||
UserManager.getUser(uid).getPlayerInfoManager().setMaxforceHero("");
|
||||
}
|
||||
}catch (Exception e){}
|
||||
}catch (Exception e){
|
||||
LOGGER.info("removeHero uid={},heroId={},Exception={}",uid,heroId,e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
///移除英雄设置相关神魂信息
|
||||
public void removeHeroGodSoul(String heroId){
|
||||
Hero hero= heroMap.get(heroId);
|
||||
Map<Integer, List<String>>godSoulBindMap=hero.getGodSoulBindMap();
|
||||
for (Map.Entry<Integer, List<String>> integerListEntry : godSoulBindMap.entrySet()) {
|
||||
List<String>heroList=integerListEntry.getValue();
|
||||
for (String bindId : heroList) {
|
||||
Hero bingHero= heroMap.get(bindId);
|
||||
bingHero.setGodSoulBeBindMap(2,heroId,0);
|
||||
}
|
||||
}
|
||||
Map<String,Integer>godSoulBeBindMap=hero.getGodSoulBeBindMap();
|
||||
for (Map.Entry<String, Integer> stringIntegerEntry : godSoulBeBindMap.entrySet()) {
|
||||
Hero bingHero= heroMap.get(stringIntegerEntry.getKey());
|
||||
bingHero.setGodSoulBindMap(2,stringIntegerEntry.getValue(),null);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue