fix[protocol]: fix gdscript map and toString error

This commit is contained in:
godotg
2023-10-05 16:06:06 +08:00
parent 4361d00371
commit 307043bd89
3 changed files with 6 additions and 9 deletions
@@ -33,14 +33,14 @@ public class GdStringSerializer implements IGdSerializer {
@Override
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
GenerateProtocolFile.addTab(builder, deep);
GenerateProtocolFile.addTabAscii(builder, deep);
builder.append(StringUtils.format("buffer.writeString({})", objectStr)).append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
String result = "result" + GenerateProtocolFile.index.getAndIncrement();
GenerateProtocolFile.addTab(builder, deep);
GenerateProtocolFile.addTabAscii(builder, deep);
builder.append(StringUtils.format("var {} = buffer.readString()", result)).append(LS);
return result;
}
@@ -186,7 +186,7 @@ public abstract class GenerateGdUtils {
var field = sequencedFields.get(i);
IFieldRegistration fieldRegistration = fieldRegistrations[GenerateProtocolFile.indexOf(fields, field)];
var fieldName = field.getName();
gdBuilder.append(TAB_ASCII).append(StringUtils.format("map[\"{}\"] = {}", fieldName, fieldName));
gdBuilder.append(TAB_ASCII).append(StringUtils.format("m[\"{}\"] = {}", fieldName, fieldName));
if (i != sequencedFields.size() - 1) {
gdBuilder.append(LS);
}
@@ -4,13 +4,10 @@ const PROTOCOL_CLASS_NAME = "{}"
{}
{}
func map() -> Dictionary:
var map = {}
{}
return map
func _to_string() -> String:
return JSON.stringify(map())
var m = {}
{}
return JSON.stringify(m)
static func write(buffer, packet):
if (buffer.writePacketFlag(packet)):