public override void OnInspectorGUI()
        {
            var circleR = (CircleRenderer)target;
            var circle  = circleR.property.Clone() as CircleProperty;

            EditorGUI.BeginChangeCheck();

            // Width, Length in pixels
            circle.diameter = EditorGUILayout.FloatField("Diameter", circle.diameter);

            circle = (CircleProperty)ShapePropertyInspector.Inspect(circle);

            // Render
            if (EditorGUI.EndChangeCheck())
            {
                circleR.property = circle;
                circleR.RenderAndUpdatePropertyIfNeeded();
                EditorUtility.SetDirty(circleR);
            }
        }
        public override void OnInspectorGUI()
        {
            var renderer = (RectRenderer)target;
            var rect     = renderer.property.Clone() as RectProperty;

            EditorGUI.BeginChangeCheck();

            // Width, Length in pixels
            rect.height = EditorGUILayout.FloatField("Height", rect.height * 100f) / 100f;
            rect.width  = EditorGUILayout.FloatField("Width", rect.width * 100f) / 100f;

            rect.angle = EditorGUILayout.FloatField("Angle", rect.angle);

            rect = (RectProperty)ShapePropertyInspector.Inspect(rect);

            // Render
            if (EditorGUI.EndChangeCheck())
            {
                renderer.property = rect;
                renderer.RenderAndUpdatePropertyIfNeeded();
                EditorUtility.SetDirty(renderer);
            }
        }