void DrawSearchOptions(Color color) { GUI.color = color; EditorGUILayout.BeginVertical("Box"); GUI.color = Color.white; GUIDraw.LabelWidthUnderline("Search Options", 14); EditorGUILayout.PropertyField(drawGizmos); EditorGUILayout.BeginHorizontal(); EditorGUILayout.PrefixLabel("Show Cell Grid"); EditorGUILayout.LabelField("X", GUILayout.Width(13)); EditorGUILayout.PropertyField(searchBoxGridX, new GUIContent(""), GUILayout.Width(25)); EditorGUILayout.LabelField("Y", GUILayout.Width(13)); EditorGUILayout.PropertyField(searchBoxGridY, new GUIContent(""), GUILayout.Width(25)); EditorGUILayout.LabelField("Z", GUILayout.Width(13)); EditorGUILayout.PropertyField(searchBoxGridZ, new GUIContent(""), GUILayout.Width(25)); EditorGUILayout.EndHorizontal(); EditorGUILayout.PropertyField(searchBoxSquare); EditorGUILayout.PropertyField(parent); EditorGUILayout.PropertyField(layerMask); EditorGUILayout.PropertyField(useTag); if (useTag.boolValue) { tag.stringValue = EditorGUILayout.TagField("Tag", tag.stringValue); } EditorGUILayout.PropertyField(onlyStatic); EditorGUILayout.PropertyField(useVertexInputLimit); if (useVertexInputLimit.boolValue) { EditorGUILayout.PropertyField(vertexInputLimit); } if (vertexInputLimit.intValue < 1) { vertexInputLimit.intValue = 1; } EditorGUILayout.PropertyField(nameContains); if (nameContains.boolValue) { GUIDraw.PropertyArray(nameContainList); } EditorGUILayout.EndVertical(); }
public override void OnInspectorGUI() { // DrawDefaultInspector(); CombinedLODManager combinedLODManager = (CombinedLODManager)target; serializedObject.Update(); GUI.color = Color.yellow * editorSkinMulti; EditorGUILayout.BeginVertical("Box"); GUI.color = Color.white; GUIDraw.LabelWidthUnderline(new GUIContent("LOD Settings", ""), 14); EditorGUILayout.PropertyField(drawGizmos); EditorGUILayout.PropertyField(lodMode); GUI.changed = false; EditorGUILayout.PropertyField(lodDistanceMode); if (GUI.changed) { MeshCombiner meshCombiner = combinedLODManager.GetComponent <MeshCombiner>(); if (meshCombiner != null) { serializedObject.ApplyModifiedProperties(); combinedLODManager.UpdateDistances(meshCombiner); return; } } EditorGUILayout.PropertyField(lodCulled); if (lodCulled.boolValue) { EditorGUILayout.PropertyField(lodCullDistance); if (lodCullDistance.floatValue < 0) { lodCullDistance.floatValue = 0; } } if (lodMode.enumValueIndex == 1) { EditorGUILayout.PropertyField(showLod); if (showLod.intValue < 0) { showLod.intValue = 0; } if (showLod.intValue >= distances.arraySize) { showLod.intValue = distances.arraySize - 1; } } else { GUI.changed = false; GUIDraw.PropertyArray(distances, new GUIContent(""), false, false); if (GUI.changed) { lodDistanceMode.enumValueIndex = 1; } if (distanceElements == null || distanceElements.Length != distances.arraySize) { distanceElements = new SerializedProperty[distances.arraySize]; } for (int i = 0; i < distances.arraySize; i++) { distanceElements[i] = distances.GetArrayElementAtIndex(i); if (i == 0) { distanceElements[i].floatValue = 0; } else if (distanceElements[i].floatValue < distanceElements[i - 1].floatValue) { distanceElements[i].floatValue = distanceElements[i - 1].floatValue + 0.1f; } } } EditorGUILayout.EndVertical(); serializedObject.ApplyModifiedProperties(); }