back_recharge
wangyuan 2019-05-28 16:30:43 +08:00
parent 19c9d6c9c6
commit 0b4b87a003
2 changed files with 11 additions and 8 deletions

View File

@ -23,7 +23,7 @@ public class WorkShopEquipCreateHandler extends BaseHandler {
PlayerInfoProto.WorkShopEquipCreateRequest workShopEquipCreateRequest = PlayerInfoProto.WorkShopEquipCreateRequest.parseFrom(bytes);
int equipTid = workShopEquipCreateRequest.getEquipTid();
List<Integer> runneIdsList = workShopEquipCreateRequest.getRunneIdsList();
WorkShopLogic.getInstance().createEquipByUser(iSession,equipTid,runneIdsList);
WorkShopLogic.getInstance().createEquipByUser(iSession,equipTid,runneIdsList,workShopEquipCreateRequest.getNums());
}
}

View File

@ -253,7 +253,7 @@ public class WorkShopLogic {
}
//装备打造 TODO
public void createEquipByUser(ISession session,int equipTid, List<Integer> runneIdsList) throws Exception {
public void createEquipByUser(ISession session,int equipTid, List<Integer> runneIdsList,int nums) throws Exception {
int uid=session.getUid();
User user = UserManager.getUser(uid);
SWorkShopEquipmentConfig sWorkShopEquipmentConfig = SWorkShopEquipmentConfig.getsWorkShopEquipmentConfigMap().get(equipTid);
@ -276,15 +276,16 @@ public class WorkShopLogic {
int[][] costs = new int[costLength][];
if(costMineral!=null && costMineral.length>0){
costs[--costLength] =costMineral;
costs[costLength][1] = costs[costLength][1]*nums;
}
if(runneIdsList.size() ==0){
runneIdsList =new ArrayList<>(specialRunes.length);
}
for(Integer runneId : runneIdsList){
costs[--costLength] = new int[]{runneId, 1};
costs[--costLength] = new int[]{runneId, nums};
}
for(int specialRunneId[] : specialRunes){
costs[--costLength] = new int[]{specialRunneId[0],specialRunneId[1]};
costs[--costLength] = new int[]{specialRunneId[0],specialRunneId[1]*nums};
runneIdsList.add(specialRunneId[0]);
}
@ -296,12 +297,14 @@ public class WorkShopLogic {
CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.newBuilder();
//熟练度提升
int type = sWorkShopEquipmentConfig.getType();
int addExp = sWorkShopEquipmentConfig.getExp();
int addExp = sWorkShopEquipmentConfig.getExp()*nums;
if(type == GlobalsDef.WORK_SHOP_TYPE){
user.getWorkShopController().addWorkShopExp(user,addExp);
Equip equip = new Equip(Integer.toString(uid), equipTid, user.getWorkShopController().getWorkShopLevel(),runneIdsList);
user.getEquipManager().addEquip(user,equip);
dropBuilder.addEquipId(CBean2Proto.getEquipProto(equip));
while (nums-->0){
Equip equip = new Equip(Integer.toString(uid), equipTid, user.getWorkShopController().getWorkShopLevel(),runneIdsList);
user.getEquipManager().addEquip(user,equip);
dropBuilder.addEquipId(CBean2Proto.getEquipProto(equip));
}
}else if( type == GlobalsDef.COOK_SHOP_TYPE){
user.getWorkShopController().addCookExp(addExp);
Map<Integer,Integer> items = new HashMap<>();