@Override
	public void redraw()
	{
		GameEngine engine=GameEngine.instance();
		if(buffer==null && getWidth()>0)
		{
			buffer = new BufferedImage(getWidth(), getHeight(), BufferedImage.TYPE_INT_ARGB);
		}
		
		if(buffer==null)return;
		
		Graphics2D g = buffer.createGraphics();
		g.scale(horizontalScale, verticalScale);
		Location currentLocation = engine.location();
		
		if(currentLocation!=null)
		{
			drawLocation(currentLocation,g);
		}
		
		g.scale(1/horizontalScale,1/verticalScale);
		drawSystemInfo(g);
		
		buffer.flush();
	}