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(); }
public override void OnInspectorGUI() { MegaWireFlowWind mod = (MegaWireFlowWind)target; undoManager.CheckUndo(); #if UNITY_5_3 || UNITY_5_4 || UNITY_5_5 || UNITY_5_6 || UNITY_2017 #else EditorGUIUtility.LookLikeControls(); #endif mod.source = (MegaFlow)EditorGUILayout.ObjectField("Source", mod.source, typeof(MegaFlow), true); if (mod.source && mod.source.frames.Count > 1) { mod.frame = EditorGUILayout.IntSlider("Frame", mod.frame, 0, mod.source.frames.Count - 1); } mod.flowscale = EditorGUILayout.FloatField("Flow Frc", mod.flowscale); mod.dir = EditorGUILayout.Vector3Field("Direction", mod.dir); mod.decay = EditorGUILayout.FloatField("Decay", mod.decay); mod.strength = EditorGUILayout.FloatField("Strength", mod.strength); mod.type = (MegaWindType)EditorGUILayout.EnumPopup("Type", mod.type); mod.turb = EditorGUILayout.FloatField("Turbelance", mod.turb); mod.freq = EditorGUILayout.FloatField("Frequency", mod.freq); mod.scale = EditorGUILayout.FloatField("Scale", mod.scale); mod.strengthnoise = EditorGUILayout.BeginToggleGroup("Strength Noise", mod.strengthnoise); mod.strengthscale = EditorGUILayout.FloatField("Strength Scale", mod.strengthscale); mod.strengthfreq = EditorGUILayout.FloatField("Strength Freq", mod.strengthfreq); EditorGUILayout.EndToggleGroup(); mod.dirnoise = EditorGUILayout.BeginToggleGroup("Dir Noise", mod.dirnoise); mod.dirscale = EditorGUILayout.Vector3Field("Dir Scale", mod.dirscale); mod.dirfreq = EditorGUILayout.FloatField("Dir Freq", mod.dirfreq); EditorGUILayout.EndToggleGroup(); mod.displayGizmo = EditorGUILayout.BeginToggleGroup("Display Gizmo", mod.displayGizmo); mod.gizmoSize = EditorGUILayout.Vector2Field("Gizmo Size", mod.gizmoSize); mod.divs = EditorGUILayout.IntField("Divs", mod.divs); mod.gizscale = EditorGUILayout.Slider("Giz Scale", mod.gizscale, 0.0f, 1.0f); mod.gizmocol = EditorGUILayout.ColorField("Gizmo Col", mod.gizmocol); EditorGUILayout.EndToggleGroup(); if (GUI.changed) { EditorUtility.SetDirty(target); } undoManager.CheckDirty(); }
public override void OnInspectorGUI() { MegaWireConnectionHelper mod = (MegaWireConnectionHelper)target; undoManager.CheckUndo(); #if UNITY_5_3 || UNITY_5_4 || UNITY_5_5 || UNITY_5_6 || UNITY_2017 #else EditorGUIUtility.LookLikeControls(); #endif mod.showgizmo = EditorGUILayout.Toggle("Show Connections", mod.showgizmo); if (GUILayout.Button("Add Wire")) { MegaWireConnectionDef cdef = new MegaWireConnectionDef(); if (mod.connections.Count > 0) { MegaWireConnectionDef last = mod.connections[mod.connections.Count - 1]; cdef.inOffset = last.inOffset; cdef.outOffset = last.outOffset; cdef.radius = last.radius; } mod.connections.Add(cdef); } for (int i = 0; i < mod.connections.Count; i++) { MegaWireConnectionDef con = mod.connections[i]; EditorGUILayout.BeginVertical("box"); con.radius = EditorGUILayout.FloatField("Radius", con.radius); con.outOffset = EditorGUILayout.Vector3Field("Out Offset", con.outOffset); con.inOffset = EditorGUILayout.Vector3Field("In Offset", con.inOffset); if (GUILayout.Button("Delete")) { if (mod.connections.Count > 1) { mod.connections.RemoveAt(i); } } EditorGUILayout.EndVertical(); } if (GUI.changed) { EditorUtility.SetDirty(target); } undoManager.CheckDirty(); }
public override void OnInspectorGUI() { MegaWireHanger mod = (MegaWireHanger)target; undoManager.CheckUndo(); #if UNITY_5_3 || UNITY_5_4 || UNITY_5_5 || UNITY_5_6 || UNITY_2017 #else EditorGUIUtility.LookLikeControls(); #endif MegaWire wire = (MegaWire)EditorGUILayout.ObjectField("Wire", mod.wire, typeof(MegaWire), true); if (wire != mod.wire) { mod.wire = wire; mod.parent = null; if (wire) { mod.parent = wire.transform.parent; } } mod.alpha = EditorGUILayout.Slider("Alpha", mod.alpha, 0.0f, 1.0f); int cons = 0; if (mod.wire) { cons = mod.wire.spans[0].connections.Count - 1; } mod.strand = EditorGUILayout.IntSlider("Strand", mod.strand, 0, cons); mod.offset = EditorGUILayout.FloatField("Offset", mod.offset); mod.align = EditorGUILayout.BeginToggleGroup("Align", mod.align); mod.rotate = EditorGUILayout.Vector3Field("Rotate", mod.rotate); EditorGUILayout.EndToggleGroup(); mod.weight = EditorGUILayout.FloatField("Weight", mod.weight); //mod.snaptomass = EditorGUILayout.Toggle("Snap To Mass", mod.snaptomass); if (GUI.changed) { EditorUtility.SetDirty(target); } undoManager.CheckDirty(); }
public override void OnInspectorGUI() { MegaWireAttach mod = (MegaWireAttach)target; undoManager.CheckUndo(); EditorGUIUtility.LookLikeControls(); MegaWire wire = (MegaWire)EditorGUILayout.ObjectField("Wire", mod.wire, typeof(MegaWire), true); if (wire != mod.wire) { mod.wire = wire; mod.parent = null; if (wire) { mod.parent = wire.transform.parent; } } mod.alpha = EditorGUILayout.Slider("Alpha", mod.alpha, 0.0f, 1.0f); int cons = 0; if (mod.wire) { cons = mod.wire.spans[0].connections.Count - 1; } mod.connection = EditorGUILayout.IntSlider("Strand", mod.connection, 0, cons); mod.offset = EditorGUILayout.Vector3Field("Offset", mod.offset); mod.align = EditorGUILayout.BeginToggleGroup("Align", mod.align); mod.rotate = EditorGUILayout.Vector3Field("Rotate", mod.rotate); EditorGUILayout.EndToggleGroup(); if (GUI.changed) { EditorUtility.SetDirty(target); } undoManager.CheckDirty(); }
public override void OnInspectorGUI() { MegaWireWind mod = (MegaWireWind)target; undoManager.CheckUndo(); EditorGUIUtility.LookLikeControls(); mod.dir = EditorGUILayout.Vector3Field("Direction", mod.dir); mod.decay = EditorGUILayout.FloatField("Decay", mod.decay); mod.strength = EditorGUILayout.FloatField("Strength", mod.strength); mod.type = (MegaWindType)EditorGUILayout.EnumPopup("Type", mod.type); mod.turb = EditorGUILayout.FloatField("Turbelance", mod.turb); mod.freq = EditorGUILayout.FloatField("Frequency", mod.freq); mod.scale = EditorGUILayout.FloatField("Scale", mod.scale); mod.strengthnoise = EditorGUILayout.BeginToggleGroup("Strength Noise", mod.strengthnoise); mod.strengthscale = EditorGUILayout.FloatField("Strength Scale", mod.strengthscale); mod.strengthfreq = EditorGUILayout.FloatField("Strength Freq", mod.strengthfreq); EditorGUILayout.EndToggleGroup(); mod.dirnoise = EditorGUILayout.BeginToggleGroup("Dir Noise", mod.dirnoise); mod.dirscale = EditorGUILayout.Vector3Field("Dir Scale", mod.dirscale); mod.dirfreq = EditorGUILayout.FloatField("Dir Freq", mod.dirfreq); EditorGUILayout.EndToggleGroup(); mod.displayGizmo = EditorGUILayout.BeginToggleGroup("Display Gizmo", mod.displayGizmo); mod.gizmoSize = EditorGUILayout.Vector2Field("Gizmo Size", mod.gizmoSize); mod.divs = EditorGUILayout.IntField("Divs", mod.divs); mod.gizscale = EditorGUILayout.Slider("Giz Scale", mod.gizscale, 0.0f, 1.0f); mod.gizmocol = EditorGUILayout.ColorField("Gizmo Col", mod.gizmocol); EditorGUILayout.EndToggleGroup(); if (GUI.changed) { EditorUtility.SetDirty(target); } undoManager.CheckDirty(); }
public override void OnInspectorGUI() { MegaWire mod = (MegaWire)target; undoManager.CheckUndo(); #if UNITY_5_3 || UNITY_5_4 || UNITY_5_5 || UNITY_5_6 || UNITY_2017 #else EditorGUIUtility.LookLikeControls(); #endif MegaWire.DisableAll = EditorGUILayout.Toggle("Disable All", MegaWire.DisableAll); if (GUILayout.Button("Rebuild")) { mod.Rebuild = true; mod.RebuildWire(); } mod.warmPhysicsTime = EditorGUILayout.FloatField("Warm Physics Time", mod.warmPhysicsTime); if (GUILayout.Button("Run Physics")) { mod.RunPhysics(mod.warmPhysicsTime); } if (GUILayout.Button("Open Select Window")) { } if (GUILayout.Button("Add Wire")) { MegaWireConnectionDef last = mod.connections[mod.connections.Count - 1]; MegaWireConnectionDef cdef = new MegaWireConnectionDef(); cdef.inOffset = last.inOffset; cdef.outOffset = last.outOffset; cdef.radius = last.radius; mod.connections.Add(cdef); mod.RebuildWire(); mod.Rebuild = true; } mod.Enabled = EditorGUILayout.Toggle("Enabled", mod.Enabled); bool ShowWire = EditorGUILayout.Toggle("Show Wire", mod.ShowWire); if (ShowWire != mod.ShowWire) { mod.ShowWire = ShowWire; mod.SetWireVisible(ShowWire); } // Lod params mod.disableOnDistance = EditorGUILayout.BeginToggleGroup("Disable On Dist", mod.disableOnDistance); mod.disableDist = EditorGUILayout.FloatField("Disable Dist", mod.disableDist); EditorGUILayout.EndToggleGroup(); mod.disableOnNotVisible = EditorGUILayout.Toggle("Disable On InVisible", mod.disableOnNotVisible); // Physics data mod.showphysics = EditorGUILayout.Foldout(mod.showphysics, "Physics Params"); if (mod.showphysics) { EditorGUILayout.BeginVertical("box"); int points = EditorGUILayout.IntSlider("Masses", mod.points, 2, 20); if (points != mod.points) { mod.points = points; mod.RebuildWire(); } float Mass = EditorGUILayout.FloatField("Mass", mod.Mass); if (Mass != mod.Mass) { mod.Mass = Mass; mod.RebuildWire(); } float massrnd = EditorGUILayout.FloatField("Mass Random", mod.massRand); if (massrnd != mod.massRand) { mod.massRand = massrnd; mod.RebuildWire(); } float spring = EditorGUILayout.FloatField("Spring", mod.spring); if (spring != mod.spring) { mod.spring = spring; mod.RebuildWire(); } float damp = EditorGUILayout.FloatField("Damp", mod.damp); if (damp != mod.damp) { mod.damp = damp; mod.RebuildWire(); } float stretch = EditorGUILayout.FloatField("Stretch", mod.stretch); if (stretch != mod.stretch) { mod.stretch = stretch; mod.ChangeStretch(stretch); } mod.gravity = EditorGUILayout.Vector3Field("Gravity", mod.gravity); mod.airdrag = EditorGUILayout.Slider("Aero Drag", mod.airdrag, 0.0f, 1.0f); // These require a rebuild bool lencon = EditorGUILayout.Toggle("Length Constraints", mod.lengthConstraints); if (lencon != mod.lengthConstraints) { mod.lengthConstraints = lencon; mod.RebuildWire(); } bool stiff = EditorGUILayout.BeginToggleGroup("Stiff Springs", mod.stiffnessSprings); if (stiff != mod.stiffnessSprings) { mod.stiffnessSprings = stiff; mod.RebuildWire(); } float stiffrate = EditorGUILayout.FloatField("Stiff Rate", mod.stiffrate); if (stiffrate != mod.stiffrate) { mod.stiffrate = stiffrate; mod.RebuildWire(); } float stiffdamp = EditorGUILayout.FloatField("Stiff Damp", mod.stiffdamp); if (stiffdamp != mod.stiffdamp) { mod.stiffdamp = stiffdamp; mod.RebuildWire(); } EditorGUILayout.EndToggleGroup(); mod.doCollisions = EditorGUILayout.BeginToggleGroup("Do Collisions", mod.doCollisions); mod.useraycast = EditorGUILayout.Toggle("Use RayCast", mod.useraycast); if (mod.useraycast) { mod.collisionoff = EditorGUILayout.FloatField("Collision Offset", mod.collisionoff); mod.collisiondist = EditorGUILayout.FloatField("Collision Dist", mod.collisiondist); mod.collisionmask = LayerMaskField("Mask", mod.collisionmask); } else { mod.floor = EditorGUILayout.FloatField("Floor", mod.floor); } EditorGUILayout.EndToggleGroup(); mod.showWindParams = EditorGUILayout.Foldout(mod.showWindParams, "Wind Params"); if (mod.showWindParams) { mod.wind = (MegaWireWind)EditorGUILayout.ObjectField("Wind Src", mod.wind, typeof(MegaWireWind), true); MegaWire.windDir = EditorGUILayout.Vector3Field("Wind Dir", MegaWire.windDir); MegaWire.windFrc = EditorGUILayout.FloatField("Wind Frc", MegaWire.windFrc); mod.windEffect = EditorGUILayout.FloatField("Wind Effect", mod.windEffect); } mod.showPhysicsAdv = EditorGUILayout.Foldout(mod.showPhysicsAdv, "Advanced Params"); if (mod.showPhysicsAdv) { mod.timeStep = EditorGUILayout.FloatField("Time Step", mod.timeStep); mod.fudge = EditorGUILayout.FloatField("Time Mult", mod.fudge); mod.startTime = EditorGUILayout.FloatField("Start Time", mod.startTime); mod.awakeTime = EditorGUILayout.FloatField("Awake Time", mod.awakeTime); mod.frameWait = EditorGUILayout.IntField("Frame Wait", mod.frameWait); mod.frameNum = EditorGUILayout.IntField("Frame Num", mod.frameNum); mod.iters = EditorGUILayout.IntSlider("Constraint Iters", mod.iters, 1, 8); } EditorGUILayout.EndVertical(); } // Meshing options mod.showmeshparams = EditorGUILayout.Foldout(mod.showmeshparams, "Mesh Params"); if (mod.showmeshparams) { EditorGUILayout.BeginVertical("box"); Material mat = (Material)EditorGUILayout.ObjectField("Material", mod.material, typeof(Material), true); if (mat != mod.material) { mod.material = mat; for (int i = 0; i < mod.spans.Count; i++) { Renderer rend = mod.spans[i].GetComponent <Renderer>(); if (rend) { rend.sharedMaterial = mat; } } } mod.strandedMesher.sides = EditorGUILayout.IntSlider("Sides", mod.strandedMesher.sides, 2, 32); mod.strandedMesher.segments = EditorGUILayout.IntSlider("Segments", mod.strandedMesher.segments, 1, 64); mod.strandedMesher.SegsPerUnit = EditorGUILayout.FloatField("Segs Per Unit", mod.strandedMesher.SegsPerUnit); mod.strandedMesher.strands = EditorGUILayout.IntSlider("Strands", mod.strandedMesher.strands, 1, 8); mod.strandedMesher.offset = EditorGUILayout.FloatField("Offset", mod.strandedMesher.offset); mod.strandedMesher.strandRadius = EditorGUILayout.FloatField("Strand Radius", mod.strandedMesher.strandRadius); mod.strandedMesher.Twist = EditorGUILayout.FloatField("Twist", mod.strandedMesher.Twist); mod.strandedMesher.TwistPerUnit = EditorGUILayout.FloatField("Twist Per Unit", mod.strandedMesher.TwistPerUnit); bool genuv = EditorGUILayout.BeginToggleGroup("Gen UV", mod.strandedMesher.genuv); if (genuv != mod.strandedMesher.genuv) { mod.strandedMesher.genuv = genuv; mod.builduvs = true; } float uvtwist = EditorGUILayout.FloatField("UV Twist", mod.strandedMesher.uvtwist); if (uvtwist != mod.strandedMesher.uvtwist) { mod.strandedMesher.uvtwist = uvtwist; mod.builduvs = true; } float uvtilex = EditorGUILayout.FloatField("UV Tile X", mod.strandedMesher.uvtilex); if (uvtilex != mod.strandedMesher.uvtilex) { mod.strandedMesher.uvtilex = uvtilex; mod.builduvs = true; } float uvtiley = EditorGUILayout.FloatField("UV Tile Y", mod.strandedMesher.uvtiley); if (uvtiley != mod.strandedMesher.uvtiley) { mod.strandedMesher.uvtiley = uvtiley; mod.builduvs = true; } EditorGUILayout.EndToggleGroup(); mod.strandedMesher.linInterp = EditorGUILayout.Toggle("Linear Interp", mod.strandedMesher.linInterp); mod.strandedMesher.calcBounds = EditorGUILayout.Toggle("Calc Bounds", mod.strandedMesher.calcBounds); mod.strandedMesher.calcTangents = EditorGUILayout.Toggle("Calc Tangents", mod.strandedMesher.calcTangents); int vcount = mod.GetVertexCount(); EditorGUILayout.LabelField("Vertex Count: " + vcount); EditorGUILayout.EndVertical(); } mod.showconnections = EditorGUILayout.Foldout(mod.showconnections, "Connections"); if (mod.showconnections) { for (int i = 0; i < mod.connections.Count; i++) { MegaWireConnectionDef con = mod.connections[i]; EditorGUILayout.BeginVertical("box"); float radius = EditorGUILayout.FloatField("Radius", con.radius); if (radius != con.radius) { con.radius = radius; } Vector3 outOffset = EditorGUILayout.Vector3Field("Out Offset", con.outOffset); if (outOffset != con.outOffset) { con.outOffset = outOffset; mod.Rebuild = true; } Vector3 inOffset = EditorGUILayout.Vector3Field("In Offset", con.inOffset); if (inOffset != con.inOffset) { con.inOffset = inOffset; mod.Rebuild = true; } if (GUILayout.Button("Delete")) { if (mod.connections.Count > 1) { mod.connections.RemoveAt(i); mod.RebuildWire(); mod.Rebuild = true; } } EditorGUILayout.EndVertical(); } } bool hidespans = EditorGUILayout.Toggle("Hide Spans", mod.hidespans); if (hidespans != mod.hidespans) { mod.hidespans = hidespans; mod.SetHidden(mod.hidespans); EditorApplication.RepaintHierarchyWindow(); } mod.displayGizmo = EditorGUILayout.BeginToggleGroup("Show Gizmos", mod.displayGizmo); mod.gizmoColor = EditorGUILayout.ColorField("Gizmo Color", mod.gizmoColor); EditorGUILayout.EndToggleGroup(); mod.showAttach = EditorGUILayout.Foldout(mod.showAttach, "Span Connections"); if (mod.showAttach) { EditorGUILayout.BeginVertical("Box"); for (int i = 0; i < mod.spans.Count; i++) { if (i > 0) { EditorGUILayout.Separator(); } EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Start", GUILayout.MaxWidth(40.0f)); for (int c = 0; c < mod.spans[i].connections.Count; c++) { bool active = EditorGUILayout.Toggle(mod.spans[i].connections[c].constraints[0].active, GUILayout.MaxWidth(10.0f)); if (active != mod.spans[i].connections[c].constraints[0].active) { mod.spans[i].connections[c].SetEndConstraintActive(0, active, 2.0f); } } EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("End", GUILayout.MaxWidth(40.0f)); for (int c = 0; c < mod.spans[i].connections.Count; c++) { bool active = EditorGUILayout.Toggle(mod.spans[i].connections[c].constraints[1].active, GUILayout.MaxWidth(10.0f)); if (active != mod.spans[i].connections[c].constraints[1].active) { mod.spans[i].connections[c].SetEndConstraintActive(1, active, 2.0f); } } EditorGUILayout.EndHorizontal(); } EditorGUILayout.EndVertical(); } if (GUI.changed) { EditorUtility.SetDirty(target); } undoManager.CheckDirty(); }
public override void OnInspectorGUI() { bool rebuild = false; MegaWirePlantPolesList mod = (MegaWirePlantPolesList)target; undoManager.CheckUndo(); EditorGUIUtility.LookLikeControls(); if (GUILayout.Button("Add Waypoint")) { Vector3 p = Vector3.zero; if (mod.waypoints.Count > 0) { if (mod.waypoints.Count > 1) { p = mod.waypoints[mod.waypoints.Count - 1]; Vector3 p1 = mod.waypoints[mod.waypoints.Count - 2]; p += p - p1; } else { p = mod.waypoints[mod.waypoints.Count - 1]; p.x += 4.0f; } } mod.waypoints.Add(p); rebuild = true; } for (int i = 0; i < mod.waypoints.Count; i++) { EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("-", GUILayout.MaxWidth(20.0f))) { mod.waypoints.RemoveAt(i); rebuild = true; } else { mod.waypoints[i] = EditorGUILayout.Vector3Field("Waypoint " + i, mod.waypoints[i]); } EditorGUILayout.EndHorizontal(); } if (mod.waypoints.Count > 0) { if (GUILayout.Button("Delete")) { mod.waypoints.RemoveAt(mod.waypoints.Count - 1); rebuild = true; } } 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); if (mod.spacing < 1.0f) { mod.spacing = 1.0f; } mod.closed = EditorGUILayout.Toggle("Closed", mod.closed); 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.material = (Material)EditorGUILayout.ObjectField("Wire Material", mod.material, typeof(Material), true); mod.copyfrom = (MegaWire)EditorGUILayout.ObjectField("Copy Wire", mod.copyfrom, typeof(MegaWire), 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.Slider("Stretch", mod.stretch, 0.0f, 1.5f); 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); //mod.realtime = EditorGUILayout.Toggle("Realtime", mod.realtime); //mod.watch = (GameObject)EditorGUILayout.ObjectField("Watch", mod.watch, typeof(GameObject), true); if (GUI.changed || rebuild) { EditorUtility.SetDirty(target); mod.Rebuild(); } GUI.changed = false; mod.showgizmoparams = EditorGUILayout.Foldout(mod.showgizmoparams, "Gizmo Params"); if (mod.showgizmoparams) { mod.showgizmo = EditorGUILayout.BeginToggleGroup("Show Gizmo", mod.showgizmo); mod.gizmoType = (MegaWireGizmoType)EditorGUILayout.EnumPopup("Show Type", mod.gizmoType); mod.units = (MegaWireUnits)EditorGUILayout.EnumPopup("Units", mod.units); mod.unitsScale = EditorGUILayout.FloatField("Units Scale", mod.unitsScale); mod.arrowwidth = EditorGUILayout.FloatField("Arrow Width", mod.arrowwidth); mod.arrowlength = EditorGUILayout.FloatField("Arrow Length", mod.arrowlength); mod.arrowoff = EditorGUILayout.Slider("Arrow Offset", mod.arrowoff, 0.0f, 1.0f); mod.vertStart = EditorGUILayout.FloatField("Vert Start", mod.vertStart); mod.vertLength = EditorGUILayout.FloatField("Vert Length", mod.vertLength); mod.dashdist = EditorGUILayout.FloatField("Dash Dist", mod.dashdist); mod.lineCol = EditorGUILayout.ColorField("Line Color", mod.lineCol); mod.arrowCol = EditorGUILayout.ColorField("Arrow Color", mod.arrowCol); mod.otherCol = EditorGUILayout.ColorField("Other Color", mod.otherCol); mod.dashCol = EditorGUILayout.ColorField("Dash Color", mod.dashCol); EditorGUILayout.EndToggleGroup(); } if (GUI.changed) { EditorUtility.SetDirty(target); } undoManager.CheckDirty(); }