public override void OnInspectorGUI() { MegaWirePlantPoles mod = (MegaWirePlantPoles)target; undoManager.CheckUndo(); #if UNITY_5_3 || UNITY_5_4 || UNITY_5_5 || UNITY_5_6 || UNITY_2017 #else EditorGUIUtility.LookLikeControls(); #endif mod.path = (MegaShape)EditorGUILayout.ObjectField("Path", mod.path, typeof(MegaShape), true); if (mod.path != null && mod.path.splines.Count > 1) { mod.curve = EditorGUILayout.IntSlider("Curve", mod.curve, 0, mod.path.splines.Count - 1); if (mod.curve < 0) { mod.curve = 0; } if (mod.curve > mod.path.splines.Count - 1) { mod.curve = mod.path.splines.Count - 1; } } mod.start = EditorGUILayout.Slider("Start", mod.start, 0.0f, 1.0f); mod.length = EditorGUILayout.Slider("Length", mod.length, 0.0f, 1.0f); mod.spacing = EditorGUILayout.FloatField("Spacing", mod.spacing); mod.pole = (GameObject)EditorGUILayout.ObjectField("Pole Obj", mod.pole, typeof(GameObject), true); mod.offset = EditorGUILayout.FloatField("Offset", mod.offset); mod.rotate = EditorGUILayout.Vector3Field("Rotate", mod.rotate); mod.conform = EditorGUILayout.BeginToggleGroup("Conform", mod.conform); mod.upright = EditorGUILayout.Slider("Upright", mod.upright, 0.0f, 1.0f); EditorGUILayout.EndToggleGroup(); mod.copyfrom = (MegaWire)EditorGUILayout.ObjectField("Copy Wire", mod.copyfrom, typeof(MegaWire), true); mod.material = (Material)EditorGUILayout.ObjectField("Wire Material", mod.material, typeof(Material), true); mod.addwires = EditorGUILayout.BeginToggleGroup("Add Wires", mod.addwires); mod.reverseWire = EditorGUILayout.Toggle("Reverse Wire", mod.reverseWire); mod.wireSizeMult = EditorGUILayout.FloatField("Wire Size Mult", mod.wireSizeMult); mod.stretch = EditorGUILayout.FloatField("Stretch", mod.stretch); EditorGUILayout.EndToggleGroup(); mod.seed = EditorGUILayout.IntField("Seed", mod.seed); mod.positionVariation = EditorGUILayout.Vector3Field("Position Variation", mod.positionVariation); mod.rotateVariation = EditorGUILayout.Vector3Field("Rotate Variation", mod.rotateVariation); mod.spacingVariation = EditorGUILayout.Slider("Spacing Variation", mod.spacingVariation, 0.0f, 1.0f); if (GUI.changed) { EditorUtility.SetDirty(target); mod.Rebuild(); } undoManager.CheckDirty(); }
static void CreatePoles() { Vector3 pos = UnityEditor.SceneView.lastActiveSceneView.pivot; GameObject go = new GameObject("Plant Poles"); MegaWirePlantPoles poles = go.AddComponent <MegaWirePlantPoles>(); go.transform.position = pos; Selection.activeObject = go; }