@Override
	public void render(GameContainer gc, StateBasedGame sbg, Graphics g) throws SlickException {
		// draw background
		g.drawImage(backgroundImage, 0, 0, (float) gc.getWidth(), (float) gc.getHeight(), 0, 0, backgroundImage.getWidth(),
				backgroundImage.getHeight());

		// draw selection
		g.setColor(SELEC_COLOR);
		g.setAntiAlias(false);
		if (selected != null)
			g.fill(new Circle(selected.getCenterX(), selected.getCenterY(), selectionCircleSize));
		if (lastSelected != null)
			g.fill(new Circle(lastSelected.getCenterX(), lastSelected.getCenterY(), lastSelectionCircleSize));

		// draw nodes
		for (Node node : Level.getNodes())
			node.render(gc, sbg, g);

		// draw hovered node
		g.setColor(SELEC_COLOR);
		g.setAntiAlias(false);
		if (hovered != null)
			g.fill(new Circle(hovered.getCenterX(), hovered.getCenterY(), hoverCircleSize));
		if (lastHovered != null)
			g.fill(new Circle(lastHovered.getCenterX(), lastHovered.getCenterY(), hoverCircleSize));

		// draw wires
		for (Wire wire : Level.getWires())
			wire.render(gc, sbg, g);
		
		// draw time
		g.setColor(Color.red);
		g.setFont(font);
		g.drawString(Float.toString(Timer.getTime() / 1000f), 10, 15);
		
		// draw score
		g.drawString(Integer.toString(Score.getScore()), gc.getWidth() / 2, 15);
		
	}