diff --git a/protocol/src/main/java/com/zfoo/protocol/generate/GenerateProtocolPath.java b/protocol/src/main/java/com/zfoo/protocol/generate/GenerateProtocolPath.java index eaab06c5..476aad78 100644 --- a/protocol/src/main/java/com/zfoo/protocol/generate/GenerateProtocolPath.java +++ b/protocol/src/main/java/com/zfoo/protocol/generate/GenerateProtocolPath.java @@ -58,12 +58,10 @@ public abstract class GenerateProtocolPath { case TypeScript: case CSharp: case Protobuf: - break; case Lua: - break; case GdScript: - break; case Enhance: + break; default: throw new RunException("无法识别的枚举类型[{}]", language); } diff --git a/protocol/src/main/java/com/zfoo/protocol/serializer/cpp/GenerateCppUtils.java b/protocol/src/main/java/com/zfoo/protocol/serializer/cpp/GenerateCppUtils.java index 3cc64756..3e8e99be 100644 --- a/protocol/src/main/java/com/zfoo/protocol/serializer/cpp/GenerateCppUtils.java +++ b/protocol/src/main/java/com/zfoo/protocol/serializer/cpp/GenerateCppUtils.java @@ -32,8 +32,10 @@ import com.zfoo.protocol.util.*; import java.io.File; import java.io.IOException; -import java.lang.reflect.Field; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; import static com.zfoo.protocol.util.FileUtils.LS; @@ -98,20 +100,12 @@ public abstract class GenerateCppUtils { var protocolManagerTemplate = StringUtils.bytesToString(IOUtils.toByteArray(ClassUtils.getFileFromClassPath("cpp/ProtocolManagerTemplate.h"))); var headerBuilder = new StringBuilder(); - protocolList.stream() - .filter(it -> Objects.nonNull(it)) - .forEach(it -> { - var name = it.protocolConstructor().getDeclaringClass().getSimpleName(); - var path = StringUtils.format("#include \"{}/{}/{}.h\"", protocolOutputRootPath, GenerateProtocolPath.getProtocolPath(it.protocolId()), name); - path = path.replaceAll("//", StringUtils.SLASH); - headerBuilder.append(path).append(LS); - }); - var initProtocolBuilder = new StringBuilder(); - protocolList.stream() - .filter(it -> Objects.nonNull(it)) - .forEach(it -> initProtocolBuilder.append(TAB).append(TAB).append(StringUtils.format("protocols[{}] = new {}Registration();", it.protocolId(), it.protocolConstructor().getDeclaringClass().getSimpleName())).append(LS)); - + for (var protocol : protocolList) { + var protocolId = protocol.protocolId(); + headerBuilder.append(StringUtils.format("#include \"{}/{}.h\"", protocolOutputRootPath, GenerateProtocolPath.protocolAbsolutePath(protocolId, CodeLanguage.Cpp))).append(LS); + initProtocolBuilder.append(TAB).append(TAB).append(StringUtils.format("protocols[{}] = new {}Registration();", protocolId, protocol.protocolConstructor().getDeclaringClass().getSimpleName())).append(LS); + } protocolManagerTemplate = StringUtils.format(protocolManagerTemplate, headerBuilder.toString(), initProtocolBuilder.toString().trim()); FileUtils.writeStringToFile(new File(StringUtils.format("{}/{}", protocolOutputRootPath, "ProtocolManager.h")), protocolManagerTemplate, true); } diff --git a/protocol/src/main/java/com/zfoo/protocol/serializer/javascript/GenerateJsUtils.java b/protocol/src/main/java/com/zfoo/protocol/serializer/javascript/GenerateJsUtils.java index adbdd394..13f43100 100644 --- a/protocol/src/main/java/com/zfoo/protocol/serializer/javascript/GenerateJsUtils.java +++ b/protocol/src/main/java/com/zfoo/protocol/serializer/javascript/GenerateJsUtils.java @@ -98,13 +98,8 @@ public abstract class GenerateJsUtils { for (var protocol : protocolList) { var protocolId = protocol.protocolId(); var protocolName = protocol.protocolConstructor().getDeclaringClass().getSimpleName(); - var path = GenerateProtocolPath.getProtocolPath(protocol.protocolId()); - if (StringUtils.isBlank(path)) { - importBuilder.append(StringUtils.format("import {} from './{}.js';", protocolName, protocolName)).append(LS); - } else { - importBuilder.append(StringUtils.format("import {} from './{}/{}.js';", protocolName, path, protocolName)).append(LS); - } - + var path = GenerateProtocolPath.protocolAbsolutePath(protocol.protocolId(), CodeLanguage.JavaScript); + importBuilder.append(StringUtils.format("import {} from './{}.js';", protocolName, path)).append(LS); initProtocolBuilder.append(StringUtils.format("protocols.set({}, {});", protocolId, protocolName)).append(LS); } diff --git a/protocol/src/main/java/com/zfoo/protocol/serializer/typescript/GenerateTsUtils.java b/protocol/src/main/java/com/zfoo/protocol/serializer/typescript/GenerateTsUtils.java index 3448d3cf..30860d11 100644 --- a/protocol/src/main/java/com/zfoo/protocol/serializer/typescript/GenerateTsUtils.java +++ b/protocol/src/main/java/com/zfoo/protocol/serializer/typescript/GenerateTsUtils.java @@ -95,13 +95,8 @@ public abstract class GenerateTsUtils { for (var protocol : protocolList) { var protocolId = protocol.protocolId(); var protocolClassName = EnhanceObjectProtocolSerializer.getProtocolClassSimpleName(protocolId); - var path = GenerateProtocolPath.getProtocolPath(protocolId); - if (StringUtils.isBlank(path)) { - importBuilder.append(StringUtils.format("import {} from './{}';", protocolClassName, protocolClassName)).append(LS); - } else { - importBuilder.append(StringUtils.format("import {} from './{}/{}';", protocolClassName, path, protocolClassName)).append(LS); - } + importBuilder.append(StringUtils.format("import {} from './{}';", protocolClassName, path)).append(LS); initProtocolBuilder.append(StringUtils.format("protocols.set({}, {});", protocolId, protocolClassName)).append(LS); }