@Override
	public void draw(Graphics2D drawScreen, int offsetX, int offsetY) {
		for (Entity entity : entityList) {
			Spatial spatial = entity.getComponent(Spatial.class);
			Health health = entity.getComponent(Health.class);
			HealthBar healthBarInfo = entity.getComponent(HealthBar.class);
			
			// Draw the red
			drawScreen.setColor(Color.red);
			drawScreen.fillRect((int) ((spatial.x + spatial.width / 2 - healthBarInfo.healthBarWidth / 2) - viewport.getX()),
					(int) ((spatial.y - spatial.height / 2 + healthBarInfo.healthBarYOffset) - viewport.getY()),
					healthBarInfo.healthBarWidth, healthBarInfo.healthBarHeight);

			// Draw the green
			if (health.currentHealth > 0) {
				float healthPercentage = (float) health.currentHealth / health.startingHealth;
				int greenWidth = (int) (healthBarInfo.healthBarWidth * healthPercentage);

				drawScreen.setColor(Color.green);
				drawScreen.fillRect((int) ((spatial.x + spatial.width / 2 - healthBarInfo.healthBarWidth / 2) - viewport.getX()),
						(int) ((spatial.y - spatial.height / 2 + healthBarInfo.healthBarYOffset) - viewport.getY()),
						greenWidth, healthBarInfo.healthBarHeight);
			}

			// Draw the border
			drawScreen.setColor(Color.black);
			drawScreen.drawRect((int) ((spatial.x + spatial.width / 2 - healthBarInfo.healthBarWidth / 2) - viewport.getX()),
					(int) ((spatial.y - spatial.height / 2 + healthBarInfo.healthBarYOffset) - viewport.getY()),
					healthBarInfo.healthBarWidth, healthBarInfo.healthBarHeight);
		}
	}