使用资源包道具逻辑完善

back_recharge
yuanshuai 2021-12-16 10:44:32 +08:00
parent 4ae13de871
commit db39942231
1 changed files with 11 additions and 1 deletions

View File

@ -11,6 +11,7 @@ import com.ljsd.jieling.logic.item.ItemLogic;
import com.ljsd.jieling.network.session.ISession;
import com.ljsd.jieling.util.ItemMap;
import com.ljsd.jieling.util.ItemUtil;
import com.ljsd.jieling.util.MessageUtil;
import com.sun.javafx.collections.MappingChange;
import config.SItem;
import config.SMainLevelConfig;
@ -68,12 +69,21 @@ public class UseAndPriceItemHandler extends BaseHandler<PlayerInfoProto.UseAndPr
ItemLogic.getInstance().useItem(iSession,itemList,useAndPriceItemRequest.getItemId());
}else if (type==7){//资源包 可以获取指定挂机奖励
int itemId=useAndPriceItemRequest.getItemsList().get(0).getItemId();
long useNum=useAndPriceItemRequest.getItemsList().get(0).getItemNum();
int useNum=(int)useAndPriceItemRequest.getItemsList().get(0).getItemNum();
Map<Integer,Integer>costMap=new HashMap<>();
costMap.put(itemId,useNum);
int[][]rewardArr=SItem.getsItemMap().get(itemId).getUseGain();
int uid = iSession.getUid();
User user = UserManager.getUser(uid);
boolean isCost= ItemUtil.itemCost(user, costMap, BIReason.USER_ITEM, 0);
if (!isCost){
LOGGER.error("资源包道具消耗失败");
throw new ErrorCodeException(ErrorCode.HANDLE_FAILED);
}
long[][]dropArr=useItemGetHookReward(user,rewardArr,useNum);
ItemUtil.drop(user,dropArr,BIReason.USER_ITEM);
CommonProto.Drop.Builder drop = ItemUtil.drop(user, dropArr, BIReason.USER_ITEM);
ItemLogic.sendUseAndPriceItemMessage(iSession, MessageTypeProto.MessageType.USER_AND_PRICE_ITEM_RESPONSE_VALUE, drop);
}
else{
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);