@Override
	public void draw(Graphics g) {
		//seals the edges so nothing is shown beyond the border
		g.setColor(Color.black);
		g.fillRect(0, 0, Settings.CAM_X, 900);
		g.fillRect(Settings.CAM_X, 0, 700, Settings.CAM_Y);
		g.fillRect(Settings.CAM_X, Settings.CAM_Y + 672, 700, 200);
		g.fillRect(Settings.CAM_X + Settings.CAM_W, 0, 1600 - Settings.CAM_X + Settings.CAM_W, 900);
		//center piece
		g.setColor(new Color(117,101,3));
		float width = (float) (info.getXp() / info.getMaxXP());
		g.fillRect(Settings.CAM_X + 63, Settings.CAM_Y - 40, 545 * width, 30);		//xp
		hpstoneBar.draw(Settings.CAM_X + 151,Settings.CAM_Y - 199);
		g.setColor(new Color(70,0,0, .6f));					//health
		width = (float) (info.getHp() / info.getMaxHP());
		g.fillRect(Settings.CAM_X + 161, Settings.CAM_Y - 199, 347 * width, 73);
		g.setColor(new Color(0,28,105));				//mana
		width = (float) (info.getMp() / info.getMaxMP());
		g.fillRect(Settings.CAM_X + 166, Settings.CAM_Y - 117, 335 * width, 30);
		g.setColor(new Color(0,64,0));					//stam
		width = (float) (info.getStam() / Balance.START_STAM);
		g.fillRect(Settings.CAM_X + 166, Settings.CAM_Y - 80, 335*width, 30);
		border.draw(Settings.CAM_X - 62,Settings.CAM_Y - 207);
		
		//time
		time = c.getTime();
		g.setColor(Color.black);
		g.drawString(time, 1395, 860);
		
		//zone name
		g.setColor(new Color(138,0,0));
		g.drawString(zone, 1140, 860);
		
		//gold count
		g.setColor(Color.yellow);
		g.drawString(Integer.toString(p.getInfo().getGold()), 1195, inv.getY() + 278);
		//inventory
		inv.draw(g);
		
		for (int i = 0; i < buttons.size(); i++){
			buttons.get(i).draw(g);
		}
		
		//screens
		screenBorder.draw(20,210);
		stats.draw(g);
		log.draw(g);
	}