@Override
    public Graphics getGraphics() {
        Graphics g = botBuffer.getGraphics();
        /*
         * Only draw if this canvas it the active one
         */
        if (bot != null && bot.getWindow().getActiveBot() != null && bot.getWindow().getActiveBot() == bot) {
	        g.drawImage(gameBuffer, 0, 0, null);
	        g.dispose();
	        Graphics2D rend = (Graphics2D) super.getGraphics();
	        for (ProjectionListener listener : listeners) {
	            listener.render((Graphics2D) botBuffer.getGraphics());
	        }
	        rend.drawImage(botBuffer, 0, 0, null);
        }
        try {
			Thread.sleep(FRAMESTEP);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
        return gameBuffer.getGraphics();
    }