public Indicator(Registry r, IndicatorManager im, int x, int y, String in, String t, Color c, boolean showLong) {
        registry = r;
        indicatorManager = im;
        mapX = x;
        mapY = y;
        imageName = in;
        text = t;
        textColor = c;

        startX = mapX;
        startY = mapY;

        if (!imageName.isEmpty()) {
            width = registry.getImageLoader().getImage(imageName).getWidth();
            height = registry.getImageLoader().getImage(imageName).getHeight();
        }

        if (!text.isEmpty()) {
            if (showLong) {
                maxHeight = 100;
                maxSteps = 75;
            } else {
                maxHeight = 20;
                maxSteps = 15;
            }
            textFont = new Font("SansSerif", Font.BOLD, 18);
        }

        endY = mapY + maxHeight;
        steps = maxSteps;
    }