试炼层级奖励领取

back_recharge
lvxinran 2019-07-17 10:21:11 +08:00
parent 8381fd8008
commit a4bc032cf2
4 changed files with 50 additions and 0 deletions

View File

@ -59,6 +59,8 @@ public interface BIReason {
int TAKE_STAR_REWARD = 36;
int TOWER_FLOOR_REWARD = 37;
//道具消耗原因 1000开头
int ADVENTURE_UPLEVEL_CONSUME = 1000; //秘境升级
int SECRETBOX_CONSUME = 1001; //秘盒抽卡

View File

@ -97,6 +97,8 @@ public class GetPlayerInfoHandler extends BaseHandler{
//图鉴信息
Set<Integer> heroHandBookSet = user.getHeroManager().getHeroHandBook().keySet();
Set<Integer> equipHandBookSet = user.getEquipManager().getEquipHandBook().keySet();
//试炼已领取奖励层数
Set<Integer> towerFloorReceivedReward = mapManager.getTowerReceivedReward().keySet();
PlayerInfoProto.GetPlayerInfoResponse getPlayerInfoResponse
= PlayerInfoProto.GetPlayerInfoResponse.newBuilder()
.setPlayer(player)
@ -110,6 +112,7 @@ public class GetPlayerInfoHandler extends BaseHandler{
.addAllRedType(playerInfoManager.getReds())
.setRandCount(alreadyCount)
.addAllHeroHandBook(heroHandBookSet).addAllEquipHandBook(equipHandBookSet)
.addAllTowerReceivedReward(towerFloorReceivedReward)
.build();
try {
MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.GET_PLAYERINFO_RESPONSE_VALUE, getPlayerInfoResponse, true);

View File

@ -2556,4 +2556,34 @@ public class MapLogic {
}
/**
*
* @param session
* @param tower
* @param messageType
* @throws Exception
*/
public void getTowerReward(ISession session, int tower , MessageTypeProto.MessageType messageType) throws Exception {
User user = UserManager.getUser(session.getUid());
STrialConfig trialConfig = STrialConfig.sTrialConfigMap.get(tower);
int[][] floorReward = trialConfig.getFloorReward();
if(floorReward.length<0){
MessageUtil.sendErrorResponse(session,0,messageType.getNumber(),"当前层无奖励");
return;
}
Map<Integer, Integer> towerReceivedReward = user.getMapManager().getTowerReceivedReward();
for(Map.Entry<Integer,Integer> entry:towerReceivedReward.entrySet()){
if(entry.getKey()==tower){
MessageUtil.sendErrorResponse(session,0,messageType.getNumber(),"当前层已领取过");
return;
}
}
CommonProto.Drop.Builder drop = ItemUtil.drop(user, floorReward, BIReason.TOWER_FLOOR_REWARD);
user.getMapManager().addTowerReceivedReward(tower);
MapInfoProto.TowerRewardResponse towerRewardResponse = MapInfoProto.TowerRewardResponse.newBuilder().setDrop(drop).build();
MessageUtil.sendMessage(session,1,messageType.getNumber(),towerRewardResponse,true);
}
}

View File

@ -104,6 +104,8 @@ public class MapManager extends MongoBase {
private int mapIntoFlag;
private Map<Integer,Integer> towerReceivedReward = new HashMap<>();
public MapManager() {
this.setRootCollection(User._COLLECTION_NAME);
}
@ -611,6 +613,19 @@ public class MapManager extends MongoBase {
updateString("difficultyOptions."+fbId,difficultId);
difficultyOptions.put(fbId,difficultId);
}
public Map<Integer,Integer> getTowerReceivedReward() {
return towerReceivedReward;
}
public void setTowerReceivedReward(Map<Integer,Integer> towerReceivedReward){
updateString("towerReceivedReward",towerReceivedReward);
this.towerReceivedReward =towerReceivedReward;
}
public void addTowerReceivedReward(int tower){
updateString("towerReceivedReward."+tower,1);
towerReceivedReward.put(tower,1);
}
}