森罗幻境自动挂机奖励展示
parent
c3553579e2
commit
188ea389e6
|
|
@ -3335,6 +3335,8 @@ public class MapLogic {
|
|||
STrialConfig sTrialConfig = sTrialConfigMap.ceilingEntry(floor).getValue();
|
||||
response = getBoxReward(sTrialConfig.getBoxPosition(), sTrialConfig.getBoxReward(), user, curXY, type);
|
||||
}
|
||||
//森罗幻境自动挂机奖励展示
|
||||
PlayerLogic.TowerGetRewardInfoShow(response.getBoxDrop(),user);
|
||||
if (response == null) {
|
||||
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
|
||||
}
|
||||
|
|
@ -3461,6 +3463,8 @@ public class MapLogic {
|
|||
if (response == null) {
|
||||
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
|
||||
}
|
||||
//森罗幻境自动挂机奖励展示
|
||||
PlayerLogic.TowerGetRewardInfoShow(response.getDrop(),user);
|
||||
MessageUtil.sendMessage(session, 1, messageType.getNumber(), response, true);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -128,6 +128,8 @@ public class MapManager extends MongoBase {
|
|||
|
||||
private EndlessTreasureReward endlessTreasureReward = new EndlessTreasureReward();
|
||||
|
||||
//森罗幻境自动挂机奖励展示 TODO 不入库
|
||||
private Map<Integer,Integer> towerGetRewardInfoShowMap = new HashMap<>();
|
||||
public MapManager() {
|
||||
this.setRootCollection(User._COLLECTION_NAME);
|
||||
}
|
||||
|
|
@ -970,6 +972,13 @@ public class MapManager extends MongoBase {
|
|||
setTreasureIsBuy(0);
|
||||
}
|
||||
|
||||
public Map<Integer, Integer> getTowerGetRewardInfoShowMap() {
|
||||
return towerGetRewardInfoShowMap;
|
||||
}
|
||||
|
||||
public void setTowerGetRewardInfoShowMap(Map<Integer, Integer> towerGetRewardInfoShowMap) {
|
||||
this.towerGetRewardInfoShowMap = towerGetRewardInfoShowMap;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -3,13 +3,17 @@ package com.ljsd.jieling.handler.map.mapHandler;
|
|||
import com.ljsd.jieling.handler.BaseHandler;
|
||||
import com.ljsd.jieling.handler.map.MapLogic;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.player.PlayerLogic;
|
||||
import com.ljsd.jieling.netty.cocdex.PacketNetData;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import rpc.protocols.CommonProto;
|
||||
import rpc.protocols.FightInfoProto;
|
||||
import rpc.protocols.MessageTypeProto;
|
||||
import com.ljsd.jieling.util.MessageUtil;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@Component
|
||||
public class MapFastFightRequestHandler extends BaseHandler {
|
||||
@Override
|
||||
|
|
@ -21,6 +25,8 @@ public class MapFastFightRequestHandler extends BaseHandler {
|
|||
public void process(ISession iSession, PacketNetData netData) throws Exception {
|
||||
FightInfoProto.FastFightResponse.Builder builder = FightInfoProto.FastFightResponse.newBuilder();
|
||||
MapLogic.getInstance().getMap(UserManager.getUser(iSession.getUid())).fastFight(iSession.getUid(), builder);
|
||||
//森罗幻境自动挂机奖励展示
|
||||
PlayerLogic.TowerGetRewardInfoShow(builder.getEnventDrop(),UserManager.getUser(iSession.getUid()));
|
||||
MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.MAP_FAST_FIGHT_RESPONSE.getNumber(), builder.build(), true);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,48 @@
|
|||
package com.ljsd.jieling.handler.map.mapHandler;
|
||||
|
||||
import com.google.protobuf.GeneratedMessage;
|
||||
import com.ljsd.jieling.globals.BIReason;
|
||||
import com.ljsd.jieling.handler.BaseHandler;
|
||||
import com.ljsd.jieling.handler.map.MapLogic;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.netty.cocdex.PacketNetData;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import com.ljsd.jieling.util.ItemUtil;
|
||||
import org.springframework.stereotype.Component;
|
||||
import rpc.protocols.ActivityProto;
|
||||
import rpc.protocols.CommonProto;
|
||||
import rpc.protocols.MapInfoProto;
|
||||
import rpc.protocols.MessageTypeProto;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@Component
|
||||
public class TowerGetRewardInfoShowHandler extends BaseHandler<MapInfoProto.TowerGetRewardInfoShowRequest> {
|
||||
|
||||
@Override
|
||||
public MessageTypeProto.MessageType getMessageCode() {
|
||||
return MessageTypeProto.MessageType.TowerGetRewardInfoShowRequest;
|
||||
}
|
||||
@Override
|
||||
public GeneratedMessage processWithProto(int uid, MapInfoProto.TowerGetRewardInfoShowRequest proto) throws Exception {
|
||||
CommonProto.Drop.Builder drop = CommonProto.Drop.newBuilder();
|
||||
User user = UserManager.getUser(uid);
|
||||
if(user == null){
|
||||
return MapInfoProto.TowerGetRewardInfoShowResponse.newBuilder().build();
|
||||
}
|
||||
Map<Integer,Integer> dropShow = user.getMapManager().getTowerGetRewardInfoShowMap();
|
||||
if(dropShow == null || dropShow.size() == 0){
|
||||
return MapInfoProto.TowerGetRewardInfoShowResponse.newBuilder().build();
|
||||
}
|
||||
for(Map.Entry<Integer,Integer> keyVal : dropShow.entrySet()){
|
||||
CommonProto.Item.Builder item = CommonProto.Item.newBuilder();
|
||||
item.setItemId(keyVal.getKey());
|
||||
item.setItemNum((long)keyVal.getValue());
|
||||
drop.addItemlist(item.build());
|
||||
}
|
||||
dropShow.clear();
|
||||
return MapInfoProto.TowerGetRewardInfoShowResponse.newBuilder().setDrop(drop).build();
|
||||
}
|
||||
}
|
||||
|
|
@ -1784,4 +1784,37 @@ public class PlayerLogic {
|
|||
User user = gson.fromJson(userStr, User.class);
|
||||
return user;
|
||||
}
|
||||
|
||||
//森罗幻境自动挂机奖励展示
|
||||
public static void TowerGetRewardInfoShow(CommonProto.Drop drop,User user){
|
||||
Map<Integer,Integer> mapItemShow =user.getMapManager().getTowerGetRewardInfoShowMap();
|
||||
for(CommonProto.Item item :drop.getItemlistList()){
|
||||
if(mapItemShow.containsKey(item.getItemId())){
|
||||
mapItemShow.put(item.getItemId(),mapItemShow.get(item.getItemId())+(int)item.getItemNum());
|
||||
}else{
|
||||
mapItemShow.put(item.getItemId(),(int)item.getItemNum());
|
||||
}
|
||||
}
|
||||
for(CommonProto.Equip equip:drop.getEquipIdList()){
|
||||
if(mapItemShow.containsKey(equip.getEquipId())){
|
||||
mapItemShow.put(equip.getEquipId(),mapItemShow.get(equip.getEquipId())+1);
|
||||
}else{
|
||||
mapItemShow.put(equip.getEquipId(),1);
|
||||
}
|
||||
}
|
||||
for(CommonProto.Hero hero:drop.getHeroList()){
|
||||
if(mapItemShow.containsKey(hero.getHeroId())){
|
||||
mapItemShow.put(hero.getHeroId(),mapItemShow.get(hero.getHeroId())+1);
|
||||
}else{
|
||||
mapItemShow.put(hero.getHeroId(),1);
|
||||
}
|
||||
}
|
||||
for(CommonProto.PokemonInfo pokemonInfo:drop.getPokemonList()){
|
||||
if(mapItemShow.containsKey(pokemonInfo.getTempId())){
|
||||
mapItemShow.put(pokemonInfo.getTempId(),mapItemShow.get(pokemonInfo.getTempId())+1);
|
||||
}else{
|
||||
mapItemShow.put(pokemonInfo.getTempId(),1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue