static public void Init() { MegaCreateLayerPopupEx window = ScriptableObject.CreateInstance <MegaCreateLayerPopupEx>(); //window.position = new Rect(Screen.width / 2, Screen.height / 2, 250, 250); window.ShowUtility(); }
public override void OnInspectorGUI() { MegaShapeLoft loft = (MegaShapeLoft)target; layers = GetLayers(loft); #if !UNITY_5 EditorGUIUtility.LookLikeControls(); #endif // Common params //if ( GUILayout.Button("Build Loft") ) //{ // loft.rebuild = true; //} loft.rebuild = EditorGUILayout.Toggle("Rebuild", loft.rebuild); loft.realtime = EditorGUILayout.Toggle("Realtime", loft.realtime); loft.up = EditorGUILayout.Vector3Field("Up", loft.up); loft.tangent = EditorGUILayout.FloatField("Tangent", loft.tangent * 100.0f) * 0.01f; loft.Tangents = EditorGUILayout.Toggle("Tangents", loft.Tangents); //loft.Optimize = EditorGUILayout.Toggle("Optimize", loft.Optimize); #if UNITY_5_5 || UNITY_5_6 || UNITY_6 #else loft.Optimize = EditorGUILayout.Toggle("Optimize", loft.Optimize); #endif loft.DoBounds = EditorGUILayout.Toggle("Bounds", loft.DoBounds); loft.DoCollider = EditorGUILayout.Toggle("Collider", loft.DoCollider); loft.useColors = EditorGUILayout.Toggle("Use Colors", loft.useColors); //loft.defaultColor = EditorGUILayout.ColorField("Color", loft.defaultColor); //EditorGUILayout.EndToggleGroup(); loft.conformAmount = EditorGUILayout.Slider("Conform Amount", loft.conformAmount, 0.0f, 1.0f); loft.undo = EditorGUILayout.Toggle("Undo", loft.undo); #if UNITY_5_5 || UNITY_5_6 || UNITY_6 #else bool hidewire1 = EditorGUILayout.Toggle("Hide Wire", hidewire); if (hidewire != hidewire1) { hidewire = hidewire1; EditorUtility.SetSelectedWireframeHidden(loft.GetComponent <Renderer>(), hidewire); } #endif //loft.genLightMap = EditorGUILayout.BeginToggleGroup("Gen LightMap", loft.genLightMap); //loft.angleError = EditorGUILayout.Slider("Angle Error",loft.angleError, 0.0f, 1.0f); //loft.areaError = EditorGUILayout.Slider("Area Error",loft.areaError, 0.0f, 1.0f); //loft.hardAngle = EditorGUILayout.FloatField("Hard Angle", loft.hardAngle); //loft.packMargin = EditorGUILayout.FloatField("Pack Margin", loft.packMargin); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Build LightMap")) { MegaLoftLightMapWindow.Init(); } if (GUILayout.Button("Copy")) { loft.Clone(); } EditorGUILayout.EndHorizontal(); //EditorGUILayout.EndToggleGroup(); showlimits = EditorGUILayout.Foldout(showlimits, "Limits"); if (showlimits) { EditorGUILayout.BeginVertical("Box"); loft.startLow = EditorGUILayout.FloatField("Start Low", loft.startLow); loft.startHigh = EditorGUILayout.FloatField("Start High", loft.startHigh); loft.lenLow = EditorGUILayout.FloatField("Len Low", loft.lenLow); loft.lenHigh = EditorGUILayout.FloatField("Len High", loft.lenHigh); loft.crossLow = EditorGUILayout.FloatField("Cross Start Low", loft.crossLow); loft.crossHigh = EditorGUILayout.FloatField("Cross Start High", loft.crossHigh); loft.crossLenLow = EditorGUILayout.FloatField("Cross Len Low", loft.crossLenLow); loft.crossLenHigh = EditorGUILayout.FloatField("Cross Len High", loft.crossLenHigh); loft.distlow = EditorGUILayout.FloatField("Dist Low", loft.distlow); loft.disthigh = EditorGUILayout.FloatField("Dist High", loft.disthigh); loft.cdistlow = EditorGUILayout.FloatField("CDist Low", loft.cdistlow); loft.cdisthigh = EditorGUILayout.FloatField("CDist High", loft.cdisthigh); EditorGUILayout.EndVertical(); CheckVal(ref loft.startLow, ref loft.startHigh); CheckVal(ref loft.lenLow, ref loft.lenHigh); CheckVal(ref loft.crossLow, ref loft.crossHigh); CheckVal(ref loft.crossLenLow, ref loft.crossLenHigh); if (loft.lenLow < 0.001f) { loft.lenLow = 0.001f; } if (loft.crossLenLow < 0.001f) { loft.crossLenLow = 0.001f; } } EditorGUILayout.LabelField("Stats", "Verts: " + loft.vertcount.ToString() + " Tris: " + (loft.polycount / 3).ToString()); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Add Layer")) { MegaCreateLayerPopupEx.Init(); EditorUtility.SetDirty(loft); } EditorGUILayout.EndHorizontal(); if (GUI.changed) { loft.rebuild = true; EditorUtility.SetDirty(loft); } }