feat[protocol]: 支持godot的GdScript

This commit is contained in:
jaysunxiao committed 2021-10-18 18:13:42 +08:00
1 parent d4f462ec1a
commit 13ad96e4a4
31 files changed
+2073 -10

No files matched your search

@@ -36,6 +36,7 @@ public class NetConfig {
private boolean generateJsProtocol;
private boolean generateCsProtocol;
private boolean generateLuaProtocol;
private boolean generateGdProtocol;
private RegistryConfig registry;
private MonitorConfig monitor;
@@ -136,6 +137,14 @@ public class NetConfig {
this.consumer = consumer;
}
public boolean isGenerateGdProtocol() {
return generateGdProtocol;
}
public void setGenerateGdProtocol(boolean generateGdProtocol) {
this.generateGdProtocol = generateGdProtocol;
}
@Override
public boolean equals(Object o) {
if (this == o) {
@@ -145,8 +154,7 @@ public class NetConfig {
return false;
}
NetConfig netConfig = (NetConfig) o;
return generateJsProtocol == netConfig.generateJsProtocol &&
Objects.equals(id, netConfig.id) &&
return Objects.equals(id, netConfig.id) &&
Objects.equals(protocolLocation, netConfig.protocolLocation) &&
Objects.equals(registry, netConfig.registry) &&
Objects.equals(monitor, netConfig.monitor) &&
@@ -156,6 +164,6 @@ public class NetConfig {
@Override
public int hashCode() {
return Objects.hash(id, protocolLocation, generateJsProtocol, registry, monitor, provider, consumer);
return Objects.hash(id, protocolLocation, registry, monitor, provider, consumer);
}
}
@@ -66,7 +66,7 @@ public class PacketService implements IPacketService {
public static final String NET_COMMON_MODULE = "common";
private Predicate<IProtocolRegistration> netGenerateProtocolFilter = registration
private final Predicate<IProtocolRegistration> netGenerateProtocolFilter = registration
-> ProtocolManager.moduleByModuleId(registration.module()).getName().matches(NET_COMMON_MODULE)
|| registration.protocolConstructor().getDeclaringClass().getSimpleName().endsWith(NET_REQUEST_SUFFIX)
|| registration.protocolConstructor().getDeclaringClass().getSimpleName().endsWith(NET_RESPONSE_SUFFIX)
@@ -87,6 +87,7 @@ public class PacketService implements IPacketService {
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 generateOperation = new GenerateOperation();
generateOperation.setFoldProtocol(foldProtocol);
generateOperation.setProtocolParam(protocolParam);
@@ -99,6 +100,9 @@ public class PacketService implements IPacketService {
if (generateLuaProtocol) {
generateOperation.getGenerateLanguages().add(CodeLanguage.Lua);
}
if (generateGdProtocol) {
generateOperation.getGenerateLanguages().add(CodeLanguage.GdScript);
}
// 设置生成协议的过滤器
GenerateProtocolFile.generateProtocolFilter = netGenerateProtocolFilter;
@@ -92,6 +92,7 @@ public class NetDefinitionParser implements BeanDefinitionParser {
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("fold-protocol", "foldProtocol", builder, element, parserContext);
resolvePlaceholder("protocol-param", "protocolParam", builder, element, parserContext);
+1
View File
@@ -69,6 +69,7 @@
<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="fold-protocol" type="xsd:string" default="false"/>
<xsd:attribute name="protocol-param" type="xsd:string" default="false"/>
</xsd:complexType>