package com.indignado.logicbricks.systems; import box2dLight.RayHandler; import com.badlogic.ashley.core.ComponentMapper; import com.badlogic.ashley.core.Engine; import com.badlogic.ashley.core.Entity; import com.badlogic.ashley.core.Family; import com.badlogic.gdx.graphics.Camera; import com.badlogic.gdx.graphics.g2d.Batch; import com.indignado.logicbricks.components.LightComponent; import com.indignado.logicbricks.config.Settings; /** * @author Rubentxu */ public class LightRenderingSystem extends LogicBrickSystem { private Batch batch; private Camera camera; private ComponentMapper<LightComponent> lm; private RayHandler rayHandler; public LightRenderingSystem() { super(Family.all(LightComponent.class).get(), 6); lm = ComponentMapper.getFor(LightComponent.class); setProcessing(false); } @Override public void addedToEngine(Engine engine) { super.addedToEngine(engine); batch = context.get(Batch.class); camera = context.get(Camera.class); camera.position.set(Settings.WIDTH / 2, Settings.HEIGHT / 2, 0); rayHandler = context.get(RayHandler.class); } @Override public void update(float deltaTime) { super.update(deltaTime); rayHandler.setCombinedMatrix(camera.combined); rayHandler.updateAndRender(); } @Override public void processEntity(Entity entity, float deltaTime) { } }