use of org.terasology.engine.persistence.serializers.EventSerializer in project Terasology by MovingBlocks.
the class VectorEventSerializer method setup.
@BeforeEach
public void setup() throws Exception {
ContextImpl context = new ContextImpl();
CoreRegistry.setContext(context);
ModuleManager moduleManager = ModuleManagerFactory.create();
context.put(ModuleManager.class, moduleManager);
context.put(ReflectFactory.class, reflectFactory);
context.put(CopyStrategyLibrary.class, copyStrategies);
ModuleTypeRegistry typeRegistry = new ModuleTypeRegistry(moduleManager.getEnvironment());
TypeHandlerLibrary typeHandlerLibrary = TypeHandlerLibraryImpl.forModuleEnvironment(moduleManager, typeRegistry);
entitySystemLibrary = new EntitySystemLibrary(context, typeHandlerLibrary);
serializer = new EventSerializer(entitySystemLibrary.getEventLibrary(), typeHandlerLibrary);
registerEvent(Vector3fTestEvent.class);
serializer.setIdMapping(eventMap);
}
use of org.terasology.engine.persistence.serializers.EventSerializer in project Terasology by MovingBlocks.
the class NetworkSystemImpl method connectToEntitySystem.
@Override
public void connectToEntitySystem(EngineEntityManager newEntityManager, EventLibrary newEventLibrary, BlockEntityRegistry blockEntityRegistry) {
if (this.entityManager != null) {
this.entityManager.unsubscribe(this);
}
this.entityManager = newEntityManager;
this.entityManager.subscribeForChanges(this);
this.blockManager = context.get(BlockManager.class);
this.ownershipHelper = new OwnershipHelper(newEntityManager.getComponentLibrary());
this.storageManager = context.get(StorageManager.class);
this.eventLibrary = newEventLibrary;
this.componentLibrary = entityManager.getComponentLibrary();
context.get(ComponentSystemManager.class).register(new NetworkEntitySystem(this), "engine:networkEntitySystem");
TypeHandlerLibrary typeHandlerLibrary = entityManager.getTypeSerializerLibrary().copy();
typeHandlerLibrary.addTypeHandler(EntityRef.class, new NetEntityRefTypeHandler(this, blockEntityRegistry));
// TODO: Add network override types here (that use id lookup tables)
eventSerializer = new EventSerializer(eventLibrary, typeHandlerLibrary);
entitySerializer = new NetworkEntitySerializer(newEntityManager, entityManager.getComponentLibrary(), typeHandlerLibrary);
entitySerializer.setComponentSerializeCheck(new NetComponentSerializeCheck());
if (mode == NetworkMode.CLIENT) {
entityManager.setEntityRefStrategy(new NetworkClientRefStrategy(this));
applySerializationTables();
}
if (server != null) {
server.connectToEntitySystem(newEntityManager, entitySerializer, eventSerializer, blockEntityRegistry);
}
}
Aggregations