public BrushModuleEditor(PrefabPainterEditor editor)
        {
            this.editor       = editor;
            this.editorTarget = editor.GetPainter();

            brushDistribution = new BrushDistribution(this);

            brushSize     = editor.FindProperty(x => x.brushSettings.brushSize);
            brushRotation = editor.FindProperty(x => x.brushSettings.brushRotation);

            sizeGuide     = editor.FindProperty(x => x.brushSettings.sizeGuide);
            normalGuide   = editor.FindProperty(x => x.brushSettings.normalGuide);
            rotationGuide = editor.FindProperty(x => x.brushSettings.rotationGuide);

            alignToTerrain = editor.FindProperty(x => x.brushSettings.alignToTerrain);

            distribution = editor.FindProperty(x => x.brushSettings.distribution);

            poissonDiscSize          = editor.FindProperty(x => x.brushSettings.poissonDiscSize);
            poissonDiscRaycastOffset = editor.FindProperty(x => x.brushSettings.poissonDiscRaycastOffset);
            fallOffCurve             = editor.FindProperty(x => x.brushSettings.fallOffCurve);
            fallOff2dCurveX          = editor.FindProperty(x => x.brushSettings.fallOff2dCurveX);
            fallOff2dCurveZ          = editor.FindProperty(x => x.brushSettings.fallOff2dCurveZ);
            curveSamplePoints        = editor.FindProperty(x => x.brushSettings.curveSamplePoints);
            allowOverlap             = editor.FindProperty(x => x.brushSettings.allowOverlap);
            layerMask = editor.FindProperty(x => x.brushSettings.layerMask);

            // initialize integrated applications
            vegetationStudioProIntegration = new VegetationStudioProIntegration(editor);
        }