package com.captstudios.games.tafl.core.es.systems.render.debug; import com.artemis.ComponentMapper; import com.artemis.Entity; import com.artemis.Filter; import com.badlogic.gdx.math.Vector2; import com.captstudios.games.tafl.core.es.components.singleton.MatchComponent; import com.captstudios.games.tafl.core.es.components.singleton.MatchRenderingComponent; import com.captstudios.games.tafl.core.es.model.TaflBoard; import com.captstudios.games.tafl.core.es.systems.render.RenderingSystem; public class DebugCellIdRendererSystem extends RenderingSystem<MatchRenderingComponent> { ComponentMapper<MatchComponent> matchMapper; @SuppressWarnings("unchecked") public DebugCellIdRendererSystem() { super(Filter.allComponents(MatchComponent.class), MatchRenderingComponent.class); } @Override public void initialize() { super.initialize(); matchMapper = world.getMapper(MatchComponent.class); } @Override protected void begin(MatchRenderingComponent rendComponent) { rendComponent.spriteBatch.begin(); } @Override protected void end(MatchRenderingComponent rendComponent) { rendComponent.spriteBatch.end(); } @Override protected void process(Entity e, MatchRenderingComponent rendComponent) { MatchComponent match = matchMapper.get(e); TaflBoard board = match.match.board; for (int i = 0; i < board.boardSize; i++) { Vector2 position = match.match.board.getCellPosition(i); rendComponent.debugFont.draw(rendComponent.spriteBatch, "" + i, position.x + board.boardType.halfTile, position.y + board.boardType.halfTile); } } }