package net.mostlyoriginal.ns2d.system.render; import com.artemis.ComponentMapper; import com.artemis.Entity; import com.artemis.annotations.Wire; import com.artemis.managers.TagManager; import com.artemis.systems.VoidEntitySystem; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import net.mostlyoriginal.ns2d.component.Health; import net.mostlyoriginal.ns2d.component.Wallet; import net.mostlyoriginal.ns2d.system.passive.AssetSystem; import net.mostlyoriginal.ns2d.system.passive.CameraSystem; /** * @author Daan van Yperen */ @Wire public class UIRenderSystem extends VoidEntitySystem { private CameraSystem cameraSystem; private AssetSystem assetSystem; private SpriteBatch batch = new SpriteBatch(); private TagManager tagManager; private ComponentMapper<Wallet> wm; private ComponentMapper<Health> hm; @Override protected void processSystem() { batch.setProjectionMatrix(cameraSystem.guiCamera.combined); batch.begin(); batch.setColor(1f, 1f, 1f, 1f); Entity player = tagManager.getEntity("player"); assetSystem.font.setColor(1f,1f,1f,1f); assetSystem.font.draw(batch, "resources: " + wm.get(player).resources + "$", 50, 50); if ( hm.has(player)) { Health health = hm.get(player); assetSystem.font.draw(batch, "health: " + (health.health - health.damage), 200, 50); } batch.end(); } }