perf[net]: 支持cpp协议的生成

This commit is contained in:
jaysunxiao
2022-05-23 16:10:47 +08:00
parent 78cb8bd2fc
commit d0fca6248b
4 changed files with 60 additions and 52 deletions
@@ -34,11 +34,13 @@ public class NetConfig {
private boolean foldProtocol;
private String protocolPath;
private String protocolParam;
private boolean generateJsProtocol;
private boolean generateCsProtocol;
private boolean generateLuaProtocol;
private boolean generateGdProtocol;
private boolean generateProtobufProtocol;
// 是否生成对应语言的协议
private boolean javascriptProtocol;
private boolean csharpProtocol;
private boolean luaProtocol;
private boolean gdscriptProtocol;
private boolean cppProtocol;
private boolean protobufProtocol;
private RegistryConfig registry;
private MonitorConfig monitor;
@@ -91,28 +93,28 @@ public class NetConfig {
this.protocolParam = protocolParam;
}
public boolean isGenerateJsProtocol() {
return generateJsProtocol;
public boolean isJavascriptProtocol() {
return javascriptProtocol;
}
public void setGenerateJsProtocol(boolean generateJsProtocol) {
this.generateJsProtocol = generateJsProtocol;
public void setJavascriptProtocol(boolean javascriptProtocol) {
this.javascriptProtocol = javascriptProtocol;
}
public boolean isGenerateCsProtocol() {
return generateCsProtocol;
public boolean isCsharpProtocol() {
return csharpProtocol;
}
public void setGenerateCsProtocol(boolean generateCsProtocol) {
this.generateCsProtocol = generateCsProtocol;
public void setCsharpProtocol(boolean csharpProtocol) {
this.csharpProtocol = csharpProtocol;
}
public boolean isGenerateLuaProtocol() {
return generateLuaProtocol;
public boolean isLuaProtocol() {
return luaProtocol;
}
public void setGenerateLuaProtocol(boolean generateLuaProtocol) {
this.generateLuaProtocol = generateLuaProtocol;
public void setLuaProtocol(boolean luaProtocol) {
this.luaProtocol = luaProtocol;
}
public RegistryConfig getRegistry() {
@@ -147,20 +149,28 @@ public class NetConfig {
this.consumer = consumer;
}
public boolean isGenerateGdProtocol() {
return generateGdProtocol;
public boolean isGdscriptProtocol() {
return gdscriptProtocol;
}
public void setGenerateGdProtocol(boolean generateGdProtocol) {
this.generateGdProtocol = generateGdProtocol;
public void setGdscriptProtocol(boolean gdscriptProtocol) {
this.gdscriptProtocol = gdscriptProtocol;
}
public boolean isGenerateProtobufProtocol() {
return generateProtobufProtocol;
public boolean isProtobufProtocol() {
return protobufProtocol;
}
public void setGenerateProtobufProtocol(boolean generateProtobufProtocol) {
this.generateProtobufProtocol = generateProtobufProtocol;
public void setProtobufProtocol(boolean protobufProtocol) {
this.protobufProtocol = protobufProtocol;
}
public boolean isCppProtocol() {
return cppProtocol;
}
public void setCppProtocol(boolean cppProtocol) {
this.cppProtocol = cppProtocol;
}
@Override
@@ -80,33 +80,29 @@ public class PacketService implements IPacketService {
public void init() {
var applicationContext = NetContext.getApplicationContext();
var protocolLocation = NetContext.getConfigManager().getLocalConfig().getProtocolLocation();
var netConfig = NetContext.getConfigManager().getLocalConfig();
var protocolLocation = netConfig.getProtocolLocation();
var foldProtocol = NetContext.getConfigManager().getLocalConfig().isFoldProtocol();
var protocolPath = NetContext.getConfigManager().getLocalConfig().getProtocolPath();
var protocolParam = NetContext.getConfigManager().getLocalConfig().getProtocolParam();
var generateJsProtocol = NetContext.getConfigManager().getLocalConfig().isGenerateJsProtocol();
var generateCsharpProtocol = NetContext.getConfigManager().getLocalConfig().isGenerateCsProtocol();
var generateLuaProtocol = NetContext.getConfigManager().getLocalConfig().isGenerateLuaProtocol();
var generateGdProtocol = NetContext.getConfigManager().getLocalConfig().isGenerateGdProtocol();
var generateProtobufProtocol = NetContext.getConfigManager().getLocalConfig().isGenerateProtobufProtocol();
var generateOperation = new GenerateOperation();
generateOperation.setFoldProtocol(foldProtocol);
generateOperation.setProtocolPath(protocolPath);
generateOperation.setProtocolParam(protocolParam);
if (generateJsProtocol) {
generateOperation.setFoldProtocol(netConfig.isFoldProtocol());
generateOperation.setProtocolPath(netConfig.getProtocolPath());
generateOperation.setProtocolParam(netConfig.getProtocolParam());
if (netConfig.isJavascriptProtocol()) {
generateOperation.getGenerateLanguages().add(CodeLanguage.JavaScript);
}
if (generateCsharpProtocol) {
if (netConfig.isCsharpProtocol()) {
generateOperation.getGenerateLanguages().add(CodeLanguage.CSharp);
}
if (generateLuaProtocol) {
if (netConfig.isLuaProtocol()) {
generateOperation.getGenerateLanguages().add(CodeLanguage.Lua);
}
if (generateGdProtocol) {
if (netConfig.isGdscriptProtocol()) {
generateOperation.getGenerateLanguages().add(CodeLanguage.GdScript);
}
if (generateProtobufProtocol) {
if (netConfig.isCppProtocol()) {
generateOperation.getGenerateLanguages().add(CodeLanguage.Cpp);
}
if (netConfig.isProtobufProtocol()) {
generateOperation.getGenerateLanguages().add(CodeLanguage.Protobuf);
}
@@ -89,11 +89,12 @@ public class NetDefinitionParser implements BeanDefinitionParser {
resolvePlaceholder("id", "id", builder, element, parserContext);
resolvePlaceholder("protocol-location", "protocolLocation", builder, element, parserContext);
resolvePlaceholder("generate-js-protocol", "generateJsProtocol", builder, element, parserContext);
resolvePlaceholder("generate-cs-protocol", "generateCsProtocol", builder, element, parserContext);
resolvePlaceholder("generate-lua-protocol", "generateLuaProtocol", builder, element, parserContext);
resolvePlaceholder("generate-gd-protocol", "generateGdProtocol", builder, element, parserContext);
resolvePlaceholder("generate-protobuf-protocol", "generateProtobufProtocol", builder, element, parserContext);
resolvePlaceholder("javascript-protocol", "javascriptProtocol", builder, element, parserContext);
resolvePlaceholder("csharp-protocol", "csharpProtocol", builder, element, parserContext);
resolvePlaceholder("lua-protocol", "luaProtocol", builder, element, parserContext);
resolvePlaceholder("gdscript-protocol", "gdscriptProtocol", builder, element, parserContext);
resolvePlaceholder("cpp-protocol", "cppProtocol", builder, element, parserContext);
resolvePlaceholder("protobuf-protocol", "protobufProtocol", builder, element, parserContext);
resolvePlaceholder("fold-protocol", "foldProtocol", builder, element, parserContext);
resolvePlaceholder("protocol-path", "protocolPath", builder, element, parserContext);
resolvePlaceholder("protocol-param", "protocolParam", builder, element, parserContext);
+6 -5
View File
@@ -66,11 +66,12 @@
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string" use="required"/>
<xsd:attribute name="protocol-location" type="xsd:string" use="required"/>
<xsd:attribute name="generate-js-protocol" type="xsd:string" default="false"/>
<xsd:attribute name="generate-cs-protocol" type="xsd:string" default="false"/>
<xsd:attribute name="generate-lua-protocol" type="xsd:string" default="false"/>
<xsd:attribute name="generate-gd-protocol" type="xsd:string" default="false"/>
<xsd:attribute name="generate-protobuf-protocol" type="xsd:string" default="false"/>
<xsd:attribute name="javascript-protocol" type="xsd:string" default="false"/>
<xsd:attribute name="csharp-protocol" type="xsd:string" default="false"/>
<xsd:attribute name="lua-protocol" type="xsd:string" default="false"/>
<xsd:attribute name="gdscript-protocol" type="xsd:string" default="false"/>
<xsd:attribute name="cpp-protocol" type="xsd:string" default="false"/>
<xsd:attribute name="protobuf-protocol" type="xsd:string" default="false"/>
<xsd:attribute name="fold-protocol" type="xsd:string" default="false"/>
<xsd:attribute name="protocol-path" type="xsd:string"/>
<xsd:attribute name="protocol-param" type="xsd:string"/>