装备锁定解锁
parent
00f9935ef8
commit
4b96a91122
|
@ -0,0 +1,23 @@
|
|||
package com.ljsd.jieling.handler;
|
||||
|
||||
import com.ljsd.jieling.logic.item.ItemLogic;
|
||||
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 EquipLockHandler extends BaseHandler {
|
||||
@Override
|
||||
public MessageTypeProto.MessageType getMessageCode() {
|
||||
return MessageTypeProto.MessageType.EQUIP_LOCK_REQUEST;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void process(ISession iSession, PacketNetData netData) throws Exception {
|
||||
byte[] bytes = netData.parseClientProtoNetData();
|
||||
PlayerInfoProto.LockEquip equipInfo = PlayerInfoProto.LockEquip.parseFrom(bytes);
|
||||
ItemLogic.getInstance().equipLock(iSession,equipInfo.getType(),equipInfo.getIdList(), MessageTypeProto.MessageType.EQUIP_LOCK_RESPONSE);
|
||||
}
|
||||
}
|
|
@ -35,6 +35,8 @@ public class Equip extends MongoBase implements Cloneable{
|
|||
|
||||
private int skill;
|
||||
|
||||
private int isLocked;
|
||||
|
||||
public Equip() {
|
||||
this.setRootCollection(User._COLLECTION_NAME);
|
||||
}
|
||||
|
@ -345,4 +347,13 @@ public class Equip extends MongoBase implements Cloneable{
|
|||
public int getSkill() {
|
||||
return skill;
|
||||
}
|
||||
|
||||
public int getIsLocked() {
|
||||
return isLocked;
|
||||
}
|
||||
|
||||
public void updateIsLocked(int isLocked) {
|
||||
updateString("isLocked",isLocked);
|
||||
this.isLocked = isLocked;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -313,4 +313,29 @@ public class ItemLogic {
|
|||
builder.addAllItemInfo(itemInfos);
|
||||
MessageUtil.sendMessage(iSession,1, msgId,builder.build(),true);
|
||||
}
|
||||
|
||||
public void equipLock(ISession session, int type, List<String> equips, MessageTypeProto.MessageType messageType) throws Exception{
|
||||
EquipManager equipManager = UserManager.getUser(session.getUid()).getEquipManager();
|
||||
//锁定
|
||||
if(type==1){
|
||||
for (String equipId:equips) {
|
||||
if(equipManager.getEquipMap().get(equipId).getIsLocked()!=0){
|
||||
MessageUtil.sendErrorResponse(session,0,messageType.getNumber(),"所选装备有的已上锁!");
|
||||
return;
|
||||
}
|
||||
equipManager.getEquipMap().get(equipId).updateIsLocked(1);
|
||||
}
|
||||
}
|
||||
//解锁
|
||||
if(type==2){
|
||||
for (String equipId:equips) {
|
||||
if(equipManager.getEquipMap().get(equipId).getIsLocked()!=1){
|
||||
MessageUtil.sendErrorResponse(session,0,messageType.getNumber(),"所选装备有的未上锁!");
|
||||
return;
|
||||
}
|
||||
equipManager.getEquipMap().get(equipId).updateIsLocked(0);
|
||||
}
|
||||
}
|
||||
MessageUtil.sendMessage(session,1,messageType.getNumber(),null,true);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -113,6 +113,7 @@ public class CBean2Proto {
|
|||
.setRebuildLevel(equip.getRebuildLevel())
|
||||
.setCreateTime(equip.getCreateTime())
|
||||
.setSkillId(equip.getSkill())
|
||||
.setIsLocked(equip.getIsLocked())
|
||||
.build();
|
||||
return equipProto;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue