protected void draw(Graphics2D g) 
	{
		Vector.d.viewPort.x = x;
		Vector.d.viewPort.y = y;

		if (dead)
		{
			System.out.println("Player is dead!");
			new TimedLevelReset(1500);
			spawnDeathParticles(20);
			return;
		}
		if (checkHitBullet())
		{
			dead = true;
		}

		g.setColor(Color.RED);
		g.fillOval(x - radius, y - radius, radius*2, radius*2);
		g.setColor(new Color(255,0,0,80));
		g.setStroke(new BasicStroke(3));
		g.drawOval(x - radius, y - radius, radius*2, radius*2);
		g.setColor(new Color(255,0,0,130));
		g.setStroke(new BasicStroke(1));
		g.drawOval(x - radius, y - radius, radius*2, radius*2);
		if (shooting)
		{
			if (reloadTimer != 0)
			{
				reloadTimer--;
			}
			else
			{
				int bulletXSpeed = 0;
				int bulletYSpeed = 0;
				switch (Direction)
				{
					case LEFT: bulletXSpeed = -12; break;
					case UP: bulletYSpeed = -12; break;
					case RIGHT: bulletXSpeed = 12; break;
					case DOWN: bulletYSpeed = 12; break;
				}
				
				Vector.d.updateList.add(new PlayerBullet(x,y,bulletXSpeed,bulletYSpeed));
				reloadTimer = 30;
			}
		}
	}