Added weapon factory block, refactored recipes

This commit is contained in:
Anuken
2018-01-05 23:38:59 -05:00
parent cccf4a7e38
commit a4cc149aab
27 changed files with 360 additions and 211 deletions

View File

@@ -136,6 +136,7 @@ public class KryoClient implements ClientProvider{
for(Class<?> c : types){
client.getKryo().register(c);
}
KryoRegistrator.register(client.getKryo());
}
@Override

View File

@@ -0,0 +1,38 @@
package io.anuke.kryonet;
import com.esotericsoftware.kryo.Kryo;
import com.esotericsoftware.kryo.Serializer;
import com.esotericsoftware.kryo.io.Input;
import com.esotericsoftware.kryo.io.Output;
import io.anuke.mindustry.resource.Mech;
import io.anuke.mindustry.resource.Upgrade;
import io.anuke.mindustry.resource.Weapon;
public class KryoRegistrator {
public static void register(Kryo kryo){
kryo.register(Weapon.class, new Serializer<Weapon>() {
@Override
public void write(Kryo kryo, Output output, Weapon object) {
output.writeByte(object.id);
}
@Override
public Weapon read(Kryo kryo, Input input, Class type) {
return (Weapon)Upgrade.getByID(input.readByte());
}
});
kryo.register(Mech.class, new Serializer<Mech>() {
@Override
public void write(Kryo kryo, Output output, Mech object) {
output.writeByte(object.id);
}
@Override
public Mech read(Kryo kryo, Input input, Class type) {
return (Mech)Upgrade.getByID(input.readByte());
}
});
}
}

View File

@@ -190,6 +190,7 @@ public class KryoServer implements ServerProvider {
for(Class<?> c : types){
server.getKryo().register(c);
}
KryoRegistrator.register(server.getKryo());
}
@Override