This commit is contained in:
Anuken
2019-11-01 12:48:42 -04:00
parent 91dc25f69d
commit 6f19685255
2 changed files with 19 additions and 3 deletions
+1 -3
View File
@@ -180,15 +180,13 @@ public class TypeIO{
byte[] bytes = string.getBytes(charset); byte[] bytes = string.getBytes(charset);
buffer.putInt(bytes.length); buffer.putInt(bytes.length);
buffer.put(bytes); buffer.put(bytes);
writeString(buffer, JsonIO.write(rules));
} }
@ReadClass(Rules.class) @ReadClass(Rules.class)
public static Rules readRules(ByteBuffer buffer){ public static Rules readRules(ByteBuffer buffer){
int length = buffer.getInt(); int length = buffer.getInt();
byte[] bytes = new byte[length]; byte[] bytes = new byte[length];
buffer.get(length); buffer.get(bytes);
String string = new String(bytes, charset); String string = new String(bytes, charset);
return JsonIO.read(Rules.class, string); return JsonIO.read(Rules.class, string);
} }
+18
View File
@@ -1,3 +1,4 @@
import io.anuke.mindustry.game.*;
import io.anuke.mindustry.io.TypeIO; import io.anuke.mindustry.io.TypeIO;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
@@ -32,4 +33,21 @@ public class IOTests{
assertNull(TypeIO.readString(buffer)); assertNull(TypeIO.readString(buffer));
} }
@Test
void writeRules(){
ByteBuffer buffer = ByteBuffer.allocate(500);
Rules rules = new Rules();
rules.attackMode = true;
rules.buildSpeedMultiplier = 99f;
TypeIO.writeRules(buffer, rules);
buffer.position(0);
Rules res = TypeIO.readRules(buffer);
assertEquals(rules.buildSpeedMultiplier, res.buildSpeedMultiplier);
assertEquals(rules.attackMode, res.attackMode);
}
} }