public void drawObject(Graphics2D g2)
	{
		AffineTransform tr = new AffineTransform();
		tr.translate(-width / 2, -height / 2);

		tr.translate(position.getX(), position.getY());
		tr.rotate(rotation, width / 2, height / 2);
		switch (objectType)
		{
		case BLOCK:
			g2.setPaint(new GradientPaint(position.x - width / 2, position.y - height / 2, g2.getColor(), position.x + width / 2, position.y + height / 2,
					Color.BLUE));
			g2.fill(tr.createTransformedShape(new Rectangle2D.Float(0, 0, width, height)));
			break;
		case DEADLYBLOCK:
			g2.setPaint(new GradientPaint(position.x - width / 2, position.y - height / 2, g2.getColor(), position.x + width / 2, position.y + height / 2,
					Color.RED));
			g2.fill(tr.createTransformedShape(new Rectangle2D.Float(0, 0, width, height)));
			break;
		case DEADLYPLATFORM:
			g2.setPaint(new GradientPaint(position.x - width / 2, position.y - height / 2, g2.getColor(), position.x + width / 2, position.y + height / 2,
					Color.MAGENTA));
			g2.fill(tr.createTransformedShape(new Rectangle2D.Float(0, 0, width, height)));
			g2.setColor(Color.RED);
			g2.draw(new Line2D.Float(startPosition, endPosition));
			break;
		case PLATFORM:
			g2.setPaint(new GradientPaint(position.x - width / 2, position.y - height / 2, g2.getColor(), position.x + width / 2, position.y + height / 2,
					Color.CYAN));
			g2.fill(tr.createTransformedShape(new Rectangle2D.Float(0, 0, width, height)));
			g2.setColor(Color.BLUE);
			g2.draw(new Line2D.Float(startPosition, endPosition));
			break;
		case SPIKE:
			tr.rotate(-rotation, width / 2, height / 2);
			tr.translate(width / 2, height / 2);
			tr.rotate(rotation, width / 2, height / 2);
			GeneralPath spike = new GeneralPath();
			spike.append(new Line2D.Float(0, 0, 20, 0), true);
			spike.append(new Line2D.Float(20, 0, 10, 20), true);
			spike.append(new Line2D.Float(10, 20, 0, 0), true);
			g2.draw(tr.createTransformedShape(spike));
			break;
		case WALL:
			g2.draw(tr.createTransformedShape(new Rectangle2D.Float(0, 0, width, height)));
			break;
		case OMRU:
			g2.setColor(Color.ORANGE);
			g2.draw(tr.createTransformedShape(new Rectangle2D.Float(0, 0, width, height)));
			break;
		case INTERACTION:
			g2.setColor(Color.PINK);
			g2.draw(tr.createTransformedShape(new Rectangle2D.Float(0, 0, width, height)));
			break;
		case PC:
			g2.setPaint(new GradientPaint(0, 0, Color.WHITE, 10, 10, Color.BLACK, true));
			g2.fill(tr.createTransformedShape(new Rectangle2D.Float(0, 0, width, height)));
			break;
		case DOOR:
			g2.setColor(Color.WHITE);
			g2.fill(tr.createTransformedShape(new Rectangle2D.Float(0, 0, width, height)));
			g2.setColor(Color.BLACK);
			g2.draw(tr.createTransformedShape(new Rectangle2D.Float(0, 0, width, height)));
			g2.setColor(Color.RED);
			g2.draw(new Line2D.Float(startPosition, endPosition));
			g2.draw(new Rectangle2D.Float(startPosition.x - width / 2, startPosition.y - height / 2, width, height));
			break;
		default:
			break;
		}
		g2.setColor(new Color(40, 40, 40));
	}