Advertisement
Guest User

Untitled

a guest
Mar 13th, 2013
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.81 KB | None | 0 0
  1. using UnityEditor;
  2. using UnityEngine;
  3.  
  4. [CustomEditor(typeof(Plane))]
  5. public class PlaneEditor : Editor
  6. {
  7.     private SerializedProperty property;
  8.     private Plane plane;
  9.  
  10.     private void OnEnable()
  11.     {
  12.         plane = (Plane)target;
  13.         property = serializedObject.GetIterator();
  14.  
  15.         var meshFilter = plane.GetComponent<MeshFilter>();
  16.         var mesh = meshFilter.sharedMesh;
  17.         if (mesh == null)
  18.         {
  19.             plane.UpdateMesh();
  20.         }
  21.     }
  22.  
  23.     public override void OnInspectorGUI()
  24.     {
  25.         serializedObject.Update();
  26.  
  27.         property.Reset();
  28.         while (property.NextVisible(true))
  29.         {
  30.             EditorGUILayout.PropertyField(property);
  31.         }
  32.  
  33.         bool propertyChanged = serializedObject.ApplyModifiedProperties();
  34.         bool forcedUpdate = GUILayout.Button("Update");
  35.  
  36.         if (propertyChanged || forcedUpdate)
  37.         {
  38.             plane.UpdateMesh();
  39.         }
  40.     }
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement