协议号映射
parent
12996dc439
commit
07fc753eed
|
@ -1,6 +1,28 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Ldb >
|
||||
|
||||
<Jbean name="ItemEntity">
|
||||
<Variable name="id" type="int"/>
|
||||
<Variable name="uniqueid" type="long"/>
|
||||
<Variable name="count" type="int"/>
|
||||
<Variable name="position" type="int"/>包裹属性,位置。从0开始编号
|
||||
<Variable name="createTime" type="int"/>
|
||||
</Jbean>
|
||||
|
||||
<Jbean name="BagEntity">
|
||||
<Variable name="bagid" type="long"/>
|
||||
<Variable name="nextId" type="int"/>
|
||||
<Variable name="capacity" type="int"/>
|
||||
<Variable name="itemMap" type="map" key="int" value="ItemEntity" /> 道具map
|
||||
|
||||
</Jbean>
|
||||
|
||||
|
||||
<Jbean name="BagManager">背包管理器
|
||||
<Variable name="bagMap" type="map" key="int" value="BagEntity" />背包map
|
||||
</Jbean>
|
||||
|
||||
|
||||
<Jbean name="PropertyItem">
|
||||
<Variable name="id" type="string"/>
|
||||
<Variable name="equipId" type="int"/>
|
||||
|
|
|
@ -40,6 +40,20 @@ class JbeanFormatter {
|
|||
ps.println(" public " + cls + "() {");
|
||||
ps.println(" }");
|
||||
ps.println();
|
||||
|
||||
ps.println();
|
||||
ps.println(" public " + cls + "(" + cls + " _o_ ) {");
|
||||
variables.forEach(var -> VarDeepCopy.make(var, ps, " "));
|
||||
ps.println(" }");
|
||||
ps.println();
|
||||
|
||||
|
||||
//
|
||||
// ps.println(" public void copyFrom(" + cls + " _o_) {");
|
||||
// variables.forEach(var -> VarCopyFrom.make(var, ps, " "));
|
||||
// ps.println(" }");
|
||||
// ps.println();
|
||||
|
||||
//MethodSetMongoKey.make(variables, ps, " ");
|
||||
// getter setter
|
||||
variables.forEach(var -> MethodVarGetter.make(var, ps, " "));
|
||||
|
|
|
@ -35,17 +35,20 @@ import util.StringUtil;
|
|||
import util.TimeUtils;
|
||||
|
||||
import java.lang.reflect.Type;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
*
|
||||
* 消息类型-消息处理 管理
|
||||
* 11.22 之前部分功能拆分至sessionmanager
|
||||
*
|
||||
* 4.21
|
||||
* //新增协议的handler定义 协议名+Handler e.g: ModItemNumIndication -> ModItemNumIndicationHandler
|
||||
* //新增协议号使用协议名定义
|
||||
* //接收和发送协议的时候协议号的自动填充 不用手动写了
|
||||
*
|
||||
*/
|
||||
@Component
|
||||
public class ProtocolsManager implements ProtocolsAbstract {
|
||||
|
@ -81,11 +84,31 @@ public class ProtocolsManager implements ProtocolsAbstract {
|
|||
|
||||
private void addHandler(BaseHandler handler) {
|
||||
if(null==handler.getMessageCode()){
|
||||
String simpleName = handler.getClass().getSimpleName();
|
||||
int index = simpleName.indexOf("Handler");
|
||||
if(index != -1)
|
||||
{
|
||||
simpleName = simpleName.substring(0, index);
|
||||
int number = getProtoIdBySimpleName(simpleName);
|
||||
handler.setProtoid(number);
|
||||
handlers.put(number, handler);
|
||||
}
|
||||
return;
|
||||
}
|
||||
handler.setProtoid(handler.getMessageCode().getNumber());
|
||||
handlers.put(handler.getMessageCode().getNumber(), handler);
|
||||
}
|
||||
|
||||
public static int getProtoIdBySimpleName(String name){
|
||||
try {
|
||||
MessageTypeProto.MessageType messageType = MessageTypeProto.MessageType.valueOf(name);
|
||||
return messageType.getNumber();
|
||||
}catch (IllegalArgumentException e){
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
public void processMessage(PacketNetData packetNetData) {
|
||||
|
|
Loading…
Reference in New Issue