Skip to content
Daan van Yperen edited this page Sep 5, 2015 · 16 revisions

How to

Configure project for (de)serialization

  1. Include artemis-odb-serializer-json module in your gradle/maven configuration.
  2. Add the required manager and configure a backend:
     final WorldSerializationManager worldSerializationManager
               = new WorldSerializationManager();
     new World(new WorldConfiguration().setManager(manager));
     worldSerializationManager.setSerializer(new JsonArtemisSerializer(world))

Load from file

     final InputStream is = AnyClass.class.getResourceAsStream("level.json");
     manager.load(is, SaveFileFormat.class);

Save to string

     final StringWriter writer = new StringWriter();
     manager.save(writer, new SaveFileFormat(entities));
     String json = writer.toString();

entities is an IntBag with entity IDs defining the scope of the save operation.

Save to file

     final PrintWriter writer = new PrintWriter("level.json", "UTF-8");
     manager.save(writer, new SaveFileFormat(entities));
     writer.close();
Clone this wiki locally