Skip to content

Commit 5fc3dbb

Browse files
committed
update
1 parent 4ebcd95 commit 5fc3dbb

File tree

1 file changed

+11
-34
lines changed

1 file changed

+11
-34
lines changed

protocol/src/main/java/com/zfoo/protocol/serializer/gdscript/CodeGenerateGdScript.java

+11-34
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ public class CodeGenerateGdScript implements ICodeGenerate {
5252

5353
// custom configuration
5454
public static String protocolOutputRootPath = "zfoogd";
55+
public static boolean createByteBufferFile = true;
5556
private static String protocolOutputPath = StringUtils.EMPTY;
5657

5758
private static Map<ISerializer, IGdSerializer> gdSerializerMap = new HashMap<>();
@@ -82,9 +83,7 @@ public void init(GenerateOperation generateOperation) {
8283

8384
@Override
8485
public void mergerProtocol(List<ProtocolRegistration> registrations) throws IOException {
85-
var createFile = new File(StringUtils.format("{}/{}", protocolOutputPath, "ByteBuffer.gd"));
86-
var fileInputStream = ClassUtils.getFileFromClassPath("gdscript/ByteBuffer.gd");
87-
FileUtils.writeInputStreamToFile(createFile, fileInputStream);
86+
createByteBufferFile();
8887

8988
// 生成ProtocolManager.gd文件
9089
var protocolManagerTemplate = ClassUtils.getFileFromClassPathToString("gdscript/ProtocolManagerTemplate.gd");
@@ -125,7 +124,6 @@ public void foldProtocol(List<ProtocolRegistration> registrations) throws IOExce
125124
var formatProtocolTemplate = CodeTemplatePlaceholder.formatTemplate(protocolTemplate, Map.of(
126125
CodeTemplatePlaceholder.protocol_id, String.valueOf(protocol_id)
127126
, CodeTemplatePlaceholder.protocol_name, protocol_name
128-
, CodeTemplatePlaceholder.protocol_imports, protocol_imports_fold(registration)
129127
, CodeTemplatePlaceholder.protocol_class, protocol_class_default(registration)
130128
, CodeTemplatePlaceholder.protocol_registration, protocol_registration(registration)
131129
));
@@ -147,7 +145,6 @@ public void defaultProtocol(List<ProtocolRegistration> registrations) throws IOE
147145
var formatProtocolTemplate = CodeTemplatePlaceholder.formatTemplate(protocolTemplate, Map.of(
148146
CodeTemplatePlaceholder.protocol_id, String.valueOf(protocol_id)
149147
, CodeTemplatePlaceholder.protocol_name, protocol_name
150-
, CodeTemplatePlaceholder.protocol_imports, protocol_imports_default(registration)
151148
, CodeTemplatePlaceholder.protocol_class, protocol_class_default(registration)
152149
, CodeTemplatePlaceholder.protocol_registration, protocol_registration(registration)
153150
));
@@ -158,10 +155,16 @@ public void defaultProtocol(List<ProtocolRegistration> registrations) throws IOE
158155
}
159156
}
160157

158+
private void createByteBufferFile() throws IOException {
159+
if (createByteBufferFile) {
160+
var createFile = new File(StringUtils.format("{}/{}", protocolOutputPath, "ByteBuffer.gd"));
161+
var fileInputStream = ClassUtils.getFileFromClassPath("gdscript/ByteBuffer.gd");
162+
FileUtils.writeInputStreamToFile(createFile, fileInputStream);
163+
}
164+
}
165+
161166
private void createTemplateFile(List<ProtocolRegistration> registrations) throws IOException {
162-
var createFile = new File(StringUtils.format("{}/{}", protocolOutputPath, "ByteBuffer.gd"));
163-
var fileInputStream = ClassUtils.getFileFromClassPath("gdscript/ByteBuffer.gd");
164-
FileUtils.writeInputStreamToFile(createFile, fileInputStream);
167+
createByteBufferFile();
165168

166169
// 生成ProtocolManager.gd文件
167170
var protocolManagerTemplate = ClassUtils.getFileFromClassPathToString("gdscript/ProtocolManagerTemplate.gd");
@@ -223,32 +226,6 @@ private String protocol_registration(ProtocolRegistration registration) {
223226
return formatProtocolTemplate;
224227
}
225228

226-
private String protocol_imports_fold(ProtocolRegistration registration) {
227-
var protocolId = registration.getId();
228-
var subProtocols = ProtocolAnalysis.getAllSubProtocolIds(protocolId);
229-
var importBuilder = new StringBuilder();
230-
var protocolPath = GenerateProtocolPath.protocolPathPeriod(protocolId);
231-
var splits = protocolPath.split(StringUtils.PERIOD_REGEX);
232-
importBuilder.append(StringUtils.format("const ByteBuffer = preload(\"{}ByteBuffer.gd\")", "../".repeat(splits.length))).append(LS);
233-
for (var subProtocolId : subProtocols) {
234-
var protocolName = EnhanceObjectProtocolSerializer.getProtocolClassSimpleName(subProtocolId);
235-
var path = GenerateProtocolPath.relativePath(protocolId, subProtocolId);
236-
importBuilder.append(StringUtils.format("const {} = preload(\"{}/{}.gd\")", protocolName, path, protocolName)).append(LS);
237-
}
238-
return importBuilder.toString();
239-
}
240-
241-
private String protocol_imports_default(ProtocolRegistration registration) {
242-
var protocolId = registration.getId();
243-
var subProtocols = ProtocolAnalysis.getAllSubProtocolIds(protocolId);
244-
var importBuilder = new StringBuilder();
245-
importBuilder.append("const ByteBuffer = preload(\"./ByteBuffer.gd\")").append(LS);
246-
for (var subProtocolId : subProtocols) {
247-
var protocolName = EnhanceObjectProtocolSerializer.getProtocolClassSimpleName(subProtocolId);
248-
importBuilder.append(StringUtils.format("const {} = preload(\"./{}.gd\")", protocolName, protocolName)).append(LS);
249-
}
250-
return importBuilder.toString();
251-
}
252229

253230
private String protocol_json(ProtocolRegistration registration) {
254231
var fields = registration.getFields();

0 commit comments

Comments
 (0)