@Override
	public void draw(JComponent c, Graphics2D g2) {
		g2.drawImage(Constants.CONVEYOR_IMAGE, 0 + client.getOffset(), 200, c);
		for (int i = 0; i < conveyorLines.size(); i++) {
			g2.drawImage(Constants.CONVEYOR_LINES_IMAGE, conveyorLines.get(i).getX() + client.getOffset(),
					conveyorLines.get(i).getY(), c);
			moveIn(i);
		}

		g2.drawImage(Constants.CONVEYOR_IMAGE, 0 + client.getOffset(), 100, c);
		for (int i = 0; i < conveyorLinesGood.size(); i++) {
			g2.drawImage(Constants.CONVEYOR_LINES_IMAGE, conveyorLinesGood.get(i).getX() + client.getOffset(),
					conveyorLinesGood.get(i).getY(), c);
			moveOut(i, conveyorLinesGood);
		}

		for (int j = 0; j < kitsOnConveyor.size(); j++) {
			if (kitsOnConveyor.get(j).getLocation().getX() < 10 - j * 138) {
				velocity = 1;
				KitGraphicsDisplay tempKit = kitsOnConveyor.get(j);
				tempKit.drawWithOffset(c, g2, client.getOffset());
				Location tempLoc = tempKit.getLocation();
				tempKit.setLocation(new Location(tempLoc.getX() + velocity, tempLoc.getY()));
			} else if (kitsOnConveyor.get(j).getLocation().getX() >= 10 - j * 138) {
				kitsOnConveyor.get(j).drawWithOffset(c, g2, client.getOffset());
				velocity = 0;
				if (kitComingIn == true) {
					kitComingIn = false;
					incomingState = IncomingStatus.KIT_WAITING;
					animationDone(new Request(Constants.CONVEYOR_MAKE_NEW_KIT_COMMAND + Constants.DONE_SUFFIX,
							Constants.CONVEYOR_TARGET, null));
				}
			}
		}

		for (int i = 0; i < kitsToLeave.size(); i++) {
			KitGraphicsDisplay tempKit = kitsToLeave.get(i);
			Location tempLoc = tempKit.getLocation();
			tempKit.setLocation(new Location(tempLoc.getX(), 100));
			tempKit.drawKit(c, g2);
			if (tempKit.getLocation().getX() == -80) {
				animationDone(new Request(Constants.CONVEYOR_RECEIVE_KIT_COMMAND + Constants.DONE_SUFFIX,
						Constants.CONVEYOR_TARGET, null));
				sendOut();
			}
			if (exit == true) {
				tempKit.setLocation(new Location(tempLoc.getX() - 5, 100));
			}
		}
	}