@Override
	public void render(Graphics g, Visibility visibility, float x, float y, float scale) {
		if(visibility == Visibility.VISIBLE) {
			boolean hasSomeEntities = occupying.size() > 0;
			boolean hasSomeEntering = entering.size() > 0;
			boolean hasSomeLeaving = leaving.size() > 0;
			if(hasSomeEntities) {
				if(hasSomeEntering && hasSomeLeaving)
					g.setColor(new Color(255, 150, 255));
				else if(hasSomeEntering)
					g.setColor(new Color(100, 255, 255));
				else if(hasSomeLeaving)
					g.setColor(new Color(255, 100, 100));
				else
					g.setColor(new Color(255, 255, 255));
			}
			else if(hasSomeEntering) {
				g.setColor(new Color(0, 85, 85));
			}
			else if(hasSomeLeaving) {
				g.setColor(new Color(85, 0, 0));
			}
			else {
				g.setColor(new Color(0, 0, 0));
			}
			g.fillRect(x - level.getTileWidth() /2 * scale, y - level.getTileHeight() / 2 * scale, level.getTileWidth() * scale, level.getTileHeight() * scale);
			g.setColor(Color.gray);
			g.setLineWidth(1);
			g.drawRect(x - level.getTileWidth() /2 * scale, y - level.getTileHeight() / 2 * scale, level.getTileWidth() * scale, level.getTileHeight() * scale);
		}
	}