public override void OnInspectorGUI() { MegaHose mod = (MegaHose)target; EditorGUIUtility.LookLikeControls(); mod.dolateupdate = EditorGUILayout.Toggle("Do Late Update", mod.dolateupdate); mod.InvisibleUpdate = EditorGUILayout.Toggle("Invisible Update", mod.InvisibleUpdate); mod.wiretype = (MegaHoseType)EditorGUILayout.EnumPopup("Wire Type", mod.wiretype); mod.segments = EditorGUILayout.IntField("Segments", mod.segments); mod.capends = EditorGUILayout.Toggle("Cap Ends", mod.capends); mod.calcnormals = EditorGUILayout.Toggle("Calc Normals", mod.calcnormals); mod.calctangents = EditorGUILayout.Toggle("Calc Tangents", mod.calctangents); mod.optimize = EditorGUILayout.Toggle("Optimize", mod.optimize); mod.recalcCollider = EditorGUILayout.Toggle("Calc Collider", mod.recalcCollider); switch (mod.wiretype) { case MegaHoseType.Round: mod.rnddia = EditorGUILayout.FloatField("Diameter", mod.rnddia); mod.rndsides = EditorGUILayout.IntField("Sides", mod.rndsides); mod.rndrot = EditorGUILayout.FloatField("Rotate", mod.rndrot); break; case MegaHoseType.Rectangle: mod.rectwidth = EditorGUILayout.FloatField("Width", mod.rectwidth); mod.rectdepth = EditorGUILayout.FloatField("Depth", mod.rectdepth); mod.rectfillet = EditorGUILayout.FloatField("Fillet", mod.rectfillet); mod.rectfilletsides = EditorGUILayout.IntField("Fillet Sides", mod.rectfilletsides); mod.rectrotangle = EditorGUILayout.FloatField("Rotate", mod.rectrotangle); break; case MegaHoseType.DSection: mod.dsecwidth = EditorGUILayout.FloatField("Width", mod.dsecwidth); mod.dsecdepth = EditorGUILayout.FloatField("Depth", mod.dsecdepth); mod.dsecrndsides = EditorGUILayout.IntField("Rnd Sides", mod.dsecrndsides); mod.dsecfillet = EditorGUILayout.FloatField("Fillet", mod.dsecfillet); mod.dsecfilletsides = EditorGUILayout.IntField("Fillet Sides", mod.dsecfilletsides); mod.dsecrotangle = EditorGUILayout.FloatField("Rotate", mod.dsecrotangle); break; } mod.uvscale = EditorGUILayout.Vector2Field("UV Scale", mod.uvscale); if (GUI.changed) { mod.updatemesh = true; mod.rebuildcross = true; } mod.custnode = (GameObject)EditorGUILayout.ObjectField("Start Object", mod.custnode, typeof(GameObject), true); mod.offset = EditorGUILayout.Vector3Field("Offset", mod.offset); mod.rotate = EditorGUILayout.Vector3Field("Rotate", mod.rotate); mod.scale = EditorGUILayout.Vector3Field("Scale", mod.scale); mod.custnode2 = (GameObject)EditorGUILayout.ObjectField("End Object", mod.custnode2, typeof(GameObject), true); mod.offset1 = EditorGUILayout.Vector3Field("Offset", mod.offset1); mod.rotate1 = EditorGUILayout.Vector3Field("Rotate", mod.rotate1); mod.scale1 = EditorGUILayout.Vector3Field("Scale", mod.scale1); mod.flexon = EditorGUILayout.BeginToggleGroup("Flex On", mod.flexon); mod.flexstart = EditorGUILayout.Slider("Start", mod.flexstart, 0.0f, 1.0f); mod.flexstop = EditorGUILayout.Slider("Stop", mod.flexstop, 0.0f, 1.0f); if (mod.flexstart > mod.flexstop) { mod.flexstart = mod.flexstop; } if (mod.flexstop < mod.flexstart) { mod.flexstop = mod.flexstart; } mod.flexcycles = EditorGUILayout.IntField("Cycles", mod.flexcycles); mod.flexdiameter = EditorGUILayout.FloatField("Diameter", mod.flexdiameter); EditorGUILayout.EndToggleGroup(); mod.usebulgecurve = EditorGUILayout.BeginToggleGroup("Use Bulge Curve", mod.usebulgecurve); mod.bulge = EditorGUILayout.CurveField("Bulge", mod.bulge); mod.bulgeamount = EditorGUILayout.FloatField("Bulge Amount", mod.bulgeamount); mod.bulgeoffset = EditorGUILayout.FloatField("Bulge Offset", mod.bulgeoffset); mod.animatebulge = EditorGUILayout.BeginToggleGroup("Animate", mod.animatebulge); mod.bulgespeed = EditorGUILayout.FloatField("Speed", mod.bulgespeed); mod.minbulge = EditorGUILayout.FloatField("Min", mod.minbulge); mod.maxbulge = EditorGUILayout.FloatField("Max", mod.maxbulge); EditorGUILayout.EndToggleGroup(); EditorGUILayout.EndToggleGroup(); mod.tension1 = EditorGUILayout.FloatField("Tension Start", mod.tension1); mod.tension2 = EditorGUILayout.FloatField("Tension End", mod.tension2); mod.freecreate = EditorGUILayout.BeginToggleGroup("Free Create", mod.freecreate); mod.noreflength = EditorGUILayout.FloatField("Free Length", mod.noreflength); EditorGUILayout.EndToggleGroup(); mod.up = EditorGUILayout.Vector3Field("Up", mod.up); mod.displayspline = EditorGUILayout.Toggle("Display Spline", mod.displayspline); if (GUI.changed) //rebuild ) { mod.updatemesh = true; mod.Rebuild(); } }