装备重铸确认
parent
db08e4a7f8
commit
c2ab44a181
|
@ -0,0 +1,26 @@
|
|||
package com.ljsd.jieling.handler.workshop;
|
||||
|
||||
import com.ljsd.jieling.handler.BaseHandler;
|
||||
import com.ljsd.jieling.logic.item.WorkShopLogic;
|
||||
import com.ljsd.jieling.netty.cocdex.PacketNetData;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import com.ljsd.jieling.protocols.MessageTypeProto;
|
||||
import com.ljsd.jieling.protocols.PlayerInfoProto;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
|
||||
@Component
|
||||
public class RebuildConfirmHandler extends BaseHandler {
|
||||
@Override
|
||||
public MessageTypeProto.MessageType getMessageCode() {
|
||||
return MessageTypeProto.MessageType.WORKSHOP_REBUILD_CONFIRM_REQUEST;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void process(ISession iSession, PacketNetData netData) throws Exception {
|
||||
byte[] bytes = netData.parseClientProtoNetData();
|
||||
PlayerInfoProto.WorkShopRebuildConfirmRequest workShopRebuildConfirmRequest = PlayerInfoProto.WorkShopRebuildConfirmRequest.parseFrom(bytes);
|
||||
int state = workShopRebuildConfirmRequest.getState();
|
||||
WorkShopLogic.getInstance().confirmRebuild(iSession,state);
|
||||
}
|
||||
}
|
|
@ -12,7 +12,7 @@ import java.util.HashMap;
|
|||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class Equip extends MongoBase {
|
||||
public class Equip extends MongoBase implements Cloneable{
|
||||
|
||||
private String id;
|
||||
|
||||
|
@ -267,4 +267,8 @@ public class Equip extends MongoBase {
|
|||
return secondValueByIdMap;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object clone() throws CloneNotSupportedException {
|
||||
return (Equip) super.clone();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,6 +11,8 @@ public class EquipManager extends MongoBase {
|
|||
|
||||
private Map<String,Equip> equipMap;
|
||||
|
||||
private Equip unDetermined;
|
||||
|
||||
public EquipManager() {
|
||||
|
||||
this.setRootCollection(User._COLLECTION_NAME);
|
||||
|
@ -34,4 +36,12 @@ public class EquipManager extends MongoBase {
|
|||
return equipMap;
|
||||
}
|
||||
|
||||
public Equip getUnDetermined() {
|
||||
return unDetermined;
|
||||
}
|
||||
|
||||
public void setUnDetermined(Equip unDetermined) {
|
||||
updateString("unDetermined", unDetermined);
|
||||
this.unDetermined = unDetermined;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -205,9 +205,13 @@ public class WorkShopLogic {
|
|||
List<CommonProto.WorkShopUnLockInfo> workShopUnLockInfoList = new ArrayList<>(2);
|
||||
workShopUnLockInfoList.add(CommonProto.WorkShopUnLockInfo.newBuilder().setType(GlobalsDef.WORK_BASE_TYPE).addAllId(workShopList == null ?new ArrayList<>(1):workShopList).build());
|
||||
workShopUnLockInfoList.add(CommonProto.WorkShopUnLockInfo.newBuilder().setType(GlobalsDef.WORK_CREATE_TYPE).addAllId(cookShopList==null?new ArrayList<>(1):cookShopList).build());
|
||||
|
||||
PlayerInfoProto.GetWorkShopInfoResponse build = PlayerInfoProto.GetWorkShopInfoResponse.newBuilder().addAllWorkShopBaseInfo(workShopBaseInfoList).addAllWorkShopUnLockInfo(workShopUnLockInfoList).build();
|
||||
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.GET_WORKSHOP_INFO_RESPONSE_VALUE,build,true);
|
||||
Equip unDetermined = user.getEquipManager().getUnDetermined();
|
||||
PlayerInfoProto.GetWorkShopInfoResponse.Builder builder = PlayerInfoProto.GetWorkShopInfoResponse.newBuilder().addAllWorkShopBaseInfo(workShopBaseInfoList).addAllWorkShopUnLockInfo(workShopUnLockInfoList);
|
||||
if(unDetermined !=null){
|
||||
CommonProto.Equip equipProto = CBean2Proto.getEquipProto(unDetermined);
|
||||
builder.setUnDetermined(equipProto);
|
||||
}
|
||||
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.GET_WORKSHOP_INFO_RESPONSE_VALUE,builder.build(),true);
|
||||
}
|
||||
|
||||
|
||||
|
@ -324,12 +328,27 @@ public class WorkShopLogic {
|
|||
SWorkShopRebuildConfig sWorkShopRebuildConfig = SWorkShopRebuildConfig.getsWorkShopRebuildConfigByQulity(sEquipConfig.getQuality());
|
||||
int addExp = sWorkShopRebuildConfig.getExp();
|
||||
user.getWorkShopController().addWorkShopExp(addExp);
|
||||
equip.rebuildEquip(user.getWorkShopController().getWorkShopLevel());
|
||||
equipManager.addEquip(equip);
|
||||
PlayerInfoProto.WorkShopRebuildRespoonse build = PlayerInfoProto.WorkShopRebuildRespoonse.newBuilder().setEquip(CBean2Proto.getEquipProto(equip)).build();
|
||||
Equip clone = (Equip)equip.clone();
|
||||
clone.rebuildEquip(user.getWorkShopController().getWorkShopLevel());
|
||||
equipManager.setUnDetermined(clone);
|
||||
PlayerInfoProto.WorkShopRebuildRespoonse build = PlayerInfoProto.WorkShopRebuildRespoonse.newBuilder().setEquip(CBean2Proto.getEquipProto(clone)).build();
|
||||
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.WORKSHOP_REBUILD_RESPONSE_VALUE,build,true);
|
||||
}
|
||||
|
||||
|
||||
public void confirmRebuild(ISession session,int state) throws Exception {
|
||||
int uid = session.getUid();
|
||||
User user = UserManager.getUser(uid);
|
||||
EquipManager equipManager = user.getEquipManager();
|
||||
Equip unDetermined = equipManager.getUnDetermined();
|
||||
if(unDetermined == null){
|
||||
MessageUtil.sendErrorResponse(session,0,MessageTypeProto.MessageType.WORKSHOP_REBUILD_CONFIRM_RESONSE_VALUE,"");
|
||||
return;
|
||||
}
|
||||
if(state == 1){
|
||||
equipManager.addEquip(unDetermined);
|
||||
}
|
||||
equipManager.setUnDetermined(null);
|
||||
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.WORKSHOP_REBUILD_CONFIRM_RESONSE_VALUE,null,true);
|
||||
}
|
||||
|
||||
private String checkForRebuildEquip( User user,List<String> consumeEquipIds,SEquipConfig sEquipConfig,String excludeEquipId) throws Exception {
|
||||
|
|
Loading…
Reference in New Issue