public override void OnInspectorGUI()
    {
        planeMonoBehaviour = (PlaneMonoBehaviour)target;
        planeBuilder       = planeMonoBehaviour.Builder;

        BasePrimitiveMonoBehaviourEditor <PlaneBuilder> .GenerateBaseFields(planeBuilder);

        EditorGUI.BeginDisabledGroup(!planeBuilder.FrontSided && !planeBuilder.BackSided);

        EditorGUILayout.Space();
        EditorGUILayout.LabelField("Plane Settings", EditorStyles.boldLabel);
        planeBuilder.SetWidth(EditorGUILayout.FloatField("Width", planeBuilder.Width));
        planeBuilder.SetHeight(EditorGUILayout.FloatField("Height", planeBuilder.Height));

        planeBuilder.SetNumberOfSegmentsWidth(EditorGUILayout.IntField("Number Of Segments Width", planeBuilder.NumberOfSegmentsWidth));
        planeBuilder.SetNumberOfSegmentsHeight(EditorGUILayout.IntField("Number Of Segments Height", planeBuilder.NumberOfSegmentsHeight));

        EditorGUI.EndDisabledGroup();

        planeMonoBehaviour.RecreateMesh();
    }
 private void Awake()
 {
     planeMonoBehaviour = (PlaneMonoBehaviour)target;
     planeBuilder       = planeMonoBehaviour.Builder;
 }